Android 拨出电话号码
以下是我用于检索传入和传出呼叫号码的代码:Android 拨出电话号码,android,Android,以下是我用于检索传入和传出呼叫号码的代码: if(arg1.getAction().equals("android.intent.action.PHONE_STATE")){ String state = arg1.getStringExtra(TelephonyManager.EXTRA_STATE); if(state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)){
if(arg1.getAction().equals("android.intent.action.PHONE_STATE")){
String state = arg1.getStringExtra(TelephonyManager.EXTRA_STATE);
if(state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)){
Log.d(TAG, "Inside Extra state off hook");
String number = arg1.getStringExtra(TelephonyManager.EXTRA_PHONE_NUMBER);
Log.e(TAG, "outgoing number : " + number);
}
else if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)){
Log.e(TAG, "Inside EXTRA_STATE_RINGING");
String number = arg1.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
Log.e(TAG, "incoming number : " + number);
}
else if(state.equals(TelephonyManager.EXTRA_STATE_IDLE)){
Log.d(TAG, "Inside EXTRA_STATE_IDLE");
}
}
但是TelephonyManager.EXTRA_PHONE_NUMBER给了我一个错误,所以我无法获得传出呼叫的号码!除此之外,我还想恢复通话的持续时间。请帮帮我。从这里提到的这个问题, 操作
新建\传出\呼叫
将为您提供传出呼叫号码,对于传入呼叫,您的代码将正常工作
if (intent.getAction().equals("android.intent.action.NEW_OUTGOING_CALL")) {
savedNumber = intent.getExtras().getString("android.intent.extra.PHONE_NUMBER");
}
除此之外,我还想恢复会议的持续时间
呼叫请帮帮我
<>你可以从呼叫日志中得到调用的持续时间,或者如果你从上面的链接中考虑上面的答案,你可以减去开始时间和结束时间,但是这不会给你一个准确的时间,因为当调用不是连接时,就触发了<代码> OffjHoox。回答,所以最好坚持通话记录的确切时间
因此,如果您正在使用链接中的上述代码,并希望在触发“onOutgoingCallEnded”后立即检测持续时间,请等待一秒钟,然后从调用日志中读取,它将给出最新的条目,否则您将始终从调用日志中获取前一条条目。如果您共享了您遇到的错误,可能会有所帮助us..EXTRA_PHONE_NUMBER无法解析或不是字段
EXTRA_PHONE_NUMBER
确实不是TelephonyManager
的字段。你想在那里干什么?我不知道怎么处理通话记录!请帮帮我,我还是个初学者@这是一些,好的。我首先测试了传入呼叫,我看到了链接thank you already此方法:if(intent.getAction().equals(“android.intent.action.NEW_OUTGOING_call”){savedNumber=intent.getExtras().getString(“android.intent.extra.PHONE_NUMBER”);}不要在家中给出!您必须注册上述链接中所示的意图过滤器,