麻烦阅读手机状态麻烦、状态、手机

2023-09-07 13:25:50 作者:花开花落埋葬了谁的青春

我想执行一些操作(暂停游戏)在我的应用程序时,一个电话来了。但是,在手机阅读状态,无法正常工作。我已在清单中的权限(READ_PHONE_STATE)。没有什么是发生在一个电话来了。 谢谢你。

  TelephonyManager telephonyManager;
PhoneStateListener监听;
telephonyManager =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
*
*
*
监听=新PhoneStateListener(){
        @覆盖
        公共无效onCallStateChanged(INT状态,串incomingNumber){

        开关(州){
        案例TelephonyManager.CALL_STATE_IDLE:
            Toast.makeText(SudokuGameActivity.this空转,Toast.LENGTH_SHORT).show();
          打破;
        案例TelephonyManager.CALL_STATE_OFFHOOK:
         Toast.makeText(SudokuGameActivity.this,摘机,Toast.LENGTH_SHORT).show();
          打破;
        案例TelephonyManager.CALL_STATE_RINGING:
            Toast.makeText(SudokuGameActivity.this,振铃,Toast.LENGTH_SHORT).show();
            mpauseButton.performClick();
          打破;
          }

        }
       };
 

解决方案

您写了下面的一行:

  telephonyManager.listen(监听器,PhoneStateListener.LISTEN_CALL_STATE);
 
为了做旗舰机,手机厂商逼着高通挤了一管 牙膏 硬哲学

I want to perform some operation (Pause game) in my application when a call came. But reading the phone state is not working. I have given permission(READ_PHONE_STATE) in the manifest. Nothing is happen when a call came. Thanks.

TelephonyManager telephonyManager;
PhoneStateListener listener;
telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
*
*
*
listener = new PhoneStateListener() {
        @Override
        public void onCallStateChanged(int state, String incomingNumber) {

        switch (state) {
        case TelephonyManager.CALL_STATE_IDLE:
            Toast.makeText(SudokuGameActivity.this, "IDLE", Toast.LENGTH_SHORT).show();
          break;
        case TelephonyManager.CALL_STATE_OFFHOOK:
         Toast.makeText(SudokuGameActivity.this, "OFF Hook", Toast.LENGTH_SHORT).show();
          break;
        case TelephonyManager.CALL_STATE_RINGING:
            Toast.makeText(SudokuGameActivity.this, "Ringing", Toast.LENGTH_SHORT).show();
            mpauseButton.performClick();
          break;
          }

        }
       };

解决方案

Have you written the following line :

 telephonyManager.listen(listener,PhoneStateListener.LISTEN_CALL_STATE);