0

我正在使用 Intent.ACTION_SCREEN_OFF 和 Intent.ACTION_SCREEN_ON 制作自己的 LockScreen。当我有电话时,我想停止我的应用程序,但我找不到这样做的方法。最后的选择是在通话期间防止屏幕关闭。我怎样才能做到这一点?请帮忙!

4

2 回答 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 回答