Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 拨出电话号码_Android - Fatal编程技术网

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”);}不要在家中给出!您必须注册上述链接中所示的意图过滤器,