Как прекратить любое приложение на End Call нажата в Android? - PullRequest
0 голосов
/ 03 февраля 2012

Я начинаю деятельность на "TelephonyManager.EXTRA_STATE_OFFHOOK", и она также работает хорошо.но в "TelephonyManager.EXTRA_STATE_IDLE" я хочу завершить ранее открытую деятельность.Я попытался установить глобальную переменную, и эта глобальная переменная взаимодействует с моей активностью, на истинном значении этой переменной я попытался "finish()" этой активности.Но когда "TelephonyManager.EXTRA_STATE_IDLE" сделано, я становлюсь беспомощным.Не могли бы вы помочь мне?

Поскольку многие приложения используют END CALL и HOME BUTTON, можем ли мы реализовать их логически в реальном приложении?

Я упомянул

1) TelephonyManager.EXTRA_STATE_OFFHOOK
2) TelephonyManager.EXTRA_STATE_IDLE are in MyReceiver class which extends BroadcastReceiver.

1 Ответ

0 голосов
/ 04 февраля 2012

После стольких проблем с вышеупомянутым вопросом, я пришел, чтобы решить это логически !!

Вы просто должны добавить этот код в свою деятельность

 PhoneStateListener listener;

      // Get the telephony manager
      telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

      // Create a new PhoneStateListener
      listener = new PhoneStateListener() 
      {
        @Override
        public void onCallStateChanged(int state, String incomingNumber) {

          switch (state) 
          {
            case TelephonyManager.CALL_STATE_IDLE:
                Log.i("MainScreen", "IDLE");                    
                finish(); // It will close current activity on pressing the END CALL Button!!
                break;

          }

        }
      };

      // Register the listener with the telephony manager
      telephonyManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
...