Ami*_*azi 5 android call broadcastreceiver telephonymanager phone-state-listener
我尝试为 android 编写一个程序。我想用我的程序拨打电话,然后识别通话状态。使用 Flowing Function,我可以识别挂出状态,对于应答状态,它不起作用。我尝试这个函数,但它也不起作用
\n\nprivate class PhoneCallListener extends PhoneStateListener {\n\n private boolean isPhoneCalling = false;\n\n String LOG_TAG = "LOGGING 123";\n\n @Override\n public void onCallStateChanged(int state, String incomingNumber) {\n\n if (TelephonyManager.CALL_STATE_RINGING == state) {\n // phone ringing\n Log.i(LOG_TAG, "RINGING, number: " + incomingNumber);\n }\n\n if (TelephonyManager.CALL_STATE_OFFHOOK == state) {\n // active\n Log.i(LOG_TAG, "OFFHOOK");\n\n isPhoneCalling = true;\n }\n\n if (TelephonyManager.CALL_STATE_IDLE == state) {\n // run when class initial and phone call ended, need detect flag\n // from CALL_STATE_OFFHOOK\n Log.i(LOG_TAG, "IDLE");\n\n if (isPhoneCalling) {\n\n Log.i(LOG_TAG, "restart app");\n\n // restart app\n Intent i = getBaseContext().getPackageManager()\n .getLaunchIntentForPackage(\n getBaseContext().getPackageName());\n i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);\n startActivity(i);\n\n isPhoneCalling = false;\n }\n\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
Dan*_*Pop -2
您不能使用 CALL_STATE_IDLE 和 CALL_STATE_OFFHOOK 来执行此操作。您必须以编程方式检测传出铃声的结尾...
| 归档时间: |
|
| 查看次数: |
1751 次 |
| 最近记录: |