Java 获取空值
我正在使用com.android.internal.telephony API。因为我调用了两个抽象类,它们是Call.java和Connection.java。您可以在这里找到这些类,以及这些创建的子类,如Java 获取空值,java,android,Java,Android,我正在使用com.android.internal.telephony API。因为我调用了两个抽象类,它们是Call.java和Connection.java。您可以在这里找到这些类,以及这些创建的子类,如 Call myCall = new MyCall(); Connection myConn = new MyConnection(); 我需要从connection类使用getDisconnectCause方法,这是一个抽象方法,我使用的方法如下: myConn = myCall.get
Call myCall = new MyCall();
Connection myConn = new MyConnection();
我需要从connection类使用getDisconnectCause方法,这是一个抽象方法,我使用的方法如下:
myConn = myCall.getEarliestConnection();
if(myConn == null){
System.out.println("myConn is null ******");
}else
{
Connection.DisconnectCause cause = myConn.getDisconnectCause();
System.out.println("value of cause ******"+cause);
}
Call.java的子类是:
1. CallManager cm = CallManager.getInstance();
2. Phone.State state;
3.
4. public List<Connection> getConnections() {
5. state = cm.getState();
6. ringingCall = cm.getForegroundCalls();
7. System.out.println("**inside getConnections="+state);
8. System.out.println("**inside getConnections="+ringingCall);
9. if ( ringingCall == null) {
10. System.out.println("**call is null***");
11. return emptyConnections;
12. }
13. else
14. {
15. System.out.println("**call is not null***");
16. return ((Call) ringingCall).getConnections();
17. }
18. @Override
19. public Phone getPhone() {
20. return null;
}
@Override
public void hangup() throws CallStateException {
}
@Override
public boolean isMultiparty() {
return false;
}
public Connection
getEarliestConnection() {
List l;
long time = Long.MAX_VALUE;
Connection c;
Connection earliest = null;
68. l = getConnections();
if (l == null) {
return null;
}else if ( l.size() == 0)
{
return null;
}
for (int i = 0, s = l.size() ; i < s ; i++) {
c = (Connection) l.get(i);
long t;
t = c.getCreateTime();
if (t < time) {
earliest = c;
time = t;
}
}
return earliest;
}
}
AND the Connection.java subclass is:
class MyConnection extends Connection{
@Override
public void cancelPostDial() {
// TODO Auto-generated method stub
}
@Override
public String getAddress() {
// TODO Auto-generated method stub
return null;
}
@Override
public Call getCall() {
// TODO Auto-generated method stub
return null;
}
@Override
public long getConnectTime() {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getCreateTime() {
// TODO Auto-generated method stub
return 0;
}
@Override
public DisconnectCause getDisconnectCause() {
// TODO Auto-generated method stub
return null;
}
@Override
public long getDisconnectTime() {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getDurationMillis() {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getHoldDurationMillis() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getNumberPresentation() {
// TODO Auto-generated method stub
return 0;
}
@Override
public PostDialState getPostDialState() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getRemainingPostDialString() {
// TODO Auto-generated method stub
return null;
}
@Override
public UUSInfo getUUSInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void hangup() throws CallStateException {
// TODO Auto-generated method stub
}
@Override
public boolean isIncoming() {
// TODO Auto-generated method stub
return false;
}
@Override
public void proceedAfterWaitChar() {
// TODO Auto-generated method stub
}
@Override
public void proceedAfterWildChar(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void separate() throws CallStateException {
// TODO Auto-generated method stub
}
}
1。CallManager cm=CallManager.getInstance();
2.电话。国家;
3.
4.公共列表getConnections(){
5.state=cm.getState();
6.ringingCall=cm.getForegroundCalls();
7.System.out.println(“**内部getConnections=“+状态”);
8.System.out.println(“**内部getConnections=“+RingCall”);
9.如果(ringingCall==null){
10.System.out.println(“**调用为空***”);
11.返回空连接;
12. }
13.其他
14. {
15.System.out.println(“**调用不为空***”);
16.return((Call)ringingCall.getConnections();
17. }
18.@覆盖
19.公用电话getPhone(){
20.返回空值;
}
@凌驾
public void hangup()引发CallStateException{
}
@凌驾
公共布尔isMultiparty(){
返回false;
}
公共关系
getEarliestConnection(){
清单l;
长时间=长时间最大值;
连接c;
连接最早=空;
68.l=getConnections();
if(l==null){
返回null;
}else if(l.size()==0)
{
返回null;
}
对于(int i=0,s=l.size();i
edit2:我已经编辑了行号1到17。请检查这个。第16行和第68行出现java.lang.ClassCastException:java.util.Collections错误。
有人能帮我解决这个问题吗。而且我只得到一种调用状态,即总是空闲的,即使调用不是空的。我正在进入另一部分。请帮助我。@Override
@Override
public List<Connection> getConnections() {
return null;
}
公理
@Override
public List<Connection> getConnections() {
return null;
}
l = getConnections();
if (l == null) {
return null;
}