Невозможно получить непустую строку из PhonestateListener :: OnCallStateChangeded

StackOverflow https://stackoverflow.com/questions/4412224

  •  08-10-2019
  •  | 
  •  

Вопрос

Источник:

listener = new PhoneStateListener()
    {
        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            super.onCallStateChanged(state, incomingNumber);
            Toast toast = Toast.makeText(getApplicationContext(), incomingNumber, Toast.LENGTH_LONG);
            toast.show();
        }

    };

    ((TelephonyManager)getSystemService(TELEPHONY_SERVICE)).listen(listener , PhoneStateListener.LISTEN_CALL_STATE )

Привет,
Я использую этот код, с android.permission.READ_PHONE_STATE Разрешение, чтобы получить тостовое сообщение, включая количество запущенных звонков. Моя проблема заключается в том, что входящие не имеется пустым, оно садиться неважно, если вызов исходящим или поглощенным, тосты появляются, но пустым.
Я видел некоторые решения для этого, но решение состояло в том, чтобы получить номер совершенно другим способом, и я хочу знать, может ли мой код можно использовать для моих потребностей.
Спасибо за советы,
Адам

Это было полезно?

Решение

Пожалуйста, включите разрешение в вашем приложении.

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


if(state == TelephonyManager.CALL_STATE_RINGING){
Toast toast = Toast.makeText(getApplicationContext(), incomingNumber, Toast.LENGTH_LONG);
toast.show();
}

CALL_STATE_OFFHOOK Верните нуль, если его первый звонок. Так что вы должны использовать CALL_STATE_RINGING.

Надеюсь, это поможет вам.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top