использовать Broadcast Receiver для перехвата входящего вызова, onReceive не срабатывает? Лог нельзя распечатать

В широковещательном приемнике:

public void onReceive (конечный контекст контекста, намерение намерения) {

  Log.e("Current:","entered111!");

  String stateStr = intent.getExtras().getString(TelephonyManager.EXTRA_STATE);
  String incomingNumber = intent.getExtras().getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
  if(stateStr.equals(TelephonyManager.EXTRA_STATE_RINGING)){



      Intent intent1=new Intent(context,myService.class);
      intent1.putExtra("incomingNumber",incomingNumber);
      context.startService(intent1);
    }
}

Это мой файл манифеста

<activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
 </activity>
  <service android:name=".myService" />
  <receiver android:name=".ServiceReceiver"
        android:enabled="true">
  <intent-filter>
        <action android:name="android.intent.action.PHONE_STATE" />
  </intent-filter>
  </receiver>

person Eileen    schedule 27.10.2017    source источник


Ответы (1)


Вы должны добавить ниже разрешение в свой файл манифеста;

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

Затем включите «Телефон» в «Разрешения» вашего приложения в «Настройки» -> «Приложения» -> Приложение -> «Разрешения».

Спасибо.

person Samantha    schedule 02.05.2018