Sac*_*aik 3 android telephonymanager android-activity android-broadcast
我是 android 初学者,正在开发一个 android 应用程序来监视用户通话时的网络状态(对于来电和去电)...
我可以通过实现 PhonestateListner 类并覆盖 onCallStateChanged 方法来监视网络状态。对于来电,我使用的是在 onCallStateChanged 方法内的 TelephonyManager 类中定义的常量(CALL_STATE_IDLE、CALL_STATE_OFFHOOK 和 CALL_STATE_RINGING),但这些常量无法正常工作对于拨出电话...
my question is
Run Code Online (Sandbox Code Playgroud)
请帮助我理解这个概念...感谢您的时间
下面的代码可帮助您在 onCreate 中获取网络状态代码
StateListener phoneStateListener = new StateListener();
TelephonyManager telephonyManager =(TelephonyManager)getSystemService(TELEPHONY_SERVICE);
telephonyManager.listen(phoneStateListener,PhoneStateListener.LISTEN_CALL_STATE);
Run Code Online (Sandbox Code Playgroud)
创建一个内部类来监听手机的监听状态。
class StateListener extends PhoneStateListener {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
System.out.println("call Activity off hook");
LockScreenActivity.this.finish();
break;
case TelephonyManager.CALL_STATE_IDLE:
break;
}
}
};
Run Code Online (Sandbox Code Playgroud)
在manifest文件中设置权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11754 次 |
| 最近记录: |