我正在使用 Intent.ACTION_SCREEN_OFF 和 Intent.ACTION_SCREEN_ON 制作自己的 LockScreen。当我有电话时,我想停止我的应用程序,但我找不到这样做的方法。最后的选择是在通话期间防止屏幕关闭。我怎样才能做到这一点?请帮忙!
问问题
153 次
2 回答
1
不确定你的实现细节,但是你需要看一下TelephonyManager
,如果你只需要检查某个时间点的状态,你可以使用该getCallState
方法。否则,您可以使用该listen
方法注册 aPhoneStateListener
以跟踪状态更改并让您的应用程序根据需要响应。
于 2013-01-26T02:44:40.150 回答
0
我找到了这段代码,它有效:
TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
tm.listen(mPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);
private PhoneStateListener mPhoneListener = new PhoneStateListener() {
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
finish();
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
finish();
break;
case TelephonyManager.CALL_STATE_IDLE:
break;
}
}
};
在清单中:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
于 2013-01-26T03:22:57.750 回答