我试图检测用户何时接听电话.我的应用程序拨打电话号码,但没有看到用户是否回答我无法执行我需要的关键功能.看起来你可以在第5版及以上版本中执行此操作,如本文所示,但我无法弄清楚如何做到这一点.我知道有人必须想出一个解决办法,因为正如一个人之前所说,一旦用户回答,呼叫计时器就会启动,所以必须有办法检测它.此问题已多次发布,但没有人发布正确答案.
似乎答案在于蒂姆S.答案在这里:
Cannot detect when outgoing call is answered in Android
<uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE" /> <receiver android:name=".listener.OutCallLogger"> <intent-filter> <action android:name="android.intent.action.PRECISE_CALL_STATE" /> </intent-filter> </receiver>
public class OutCallLogger extends broadcastReceiver { @Override public void onReceive(Context context,Intent intent) { switch (intent.getIntExtra(TelephonyManager.EXTRA_FOREGROUND_CALL_STATE,-2) { case PreciseCallState.PRECISE_CALL_STATE_IDLE: Log.d(This.LOG_TAG,"IDLE"); break; case PreciseCallState.PRECISE_CALL_STATE_DIALING: Log.d(This.LOG_TAG,"DIALING"); break; case PreciseCallState.PRECISE_CALL_STATE_ALERTING: Log.d(This.LOG_TAG,"ALERTING"); break; case PreciseCallState.PRECISE_CALL_STATE_ACTIVE: Log.d(This.LOG_TAG,"ACTIVE"); break; } } }
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。