如何在通话过程中防止屏幕关闭?

时间:2013-01-26 02:30:31

标签: android screen phone-call

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

2 个答案:

答案 0 :(得分:1)

不确定您的实施细节,但是您需要查看TelephonyManager,如果您只需要在某个时间点检查状态,则可以使用{{3} } 方法。否则,您可以使用getCallState方法注册listen以跟踪状态更改,并让您的应用根据需要做出响应。

答案 1 :(得分: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;

            }
        } 
    };

in Manifest:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>