2016-06-21 4 views
0

У меня проблема с моим широковещательным приемником, все работает, но через несколько часов андроид 5.0.1 убивает этот процесс. Эта трансляция принимает телефонные звонки. Есть ли способ решить эту проблему? Я думаю, что я должен использовать AlarmManager и просыпаться эту трансляцию каждый день. Каков наилучший вариант использования этого диспетчера аварийных сигналов в этом широковещательном приемнике?Использование alarmManager, когда broadcastReceiver не работает

public class IncCall extends BroadcastReceiver { 
      @Override 
public void onReceive(final Context context, Intent intent) { 

String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE); 
        Log.d("debug","state: " + state); 

       } 
      } 

Manifest:

 <receiver android:name="IncCall" 
        android:enabled="true" 
        android:exported="true"> 
      <intent-filter> 
       <action android:name="android.intent.action.PACKAGE_REPLACED" /> 
       <action android:name="android.intent.action.PACKAGE_ADDED" /> 
       <action android:name="android.intent.action.PHONE_STATE" /> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </receiver> 
+0

также почему пытается получить telephonemanager состояния –

+0

, потому что я жду входящего вызова – Algeroth

+0

то почему вы используете пакет установку действия –

ответ

0

использовать манифеста что-то вроде этого:

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="18" /> 

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

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <receiver android:name="com.example.MyCallReceiver" > 
     <intent-filter> 
      <action android:name="android.intent.action.PHONE_STATE" /> 
     </intent-filter> 
    </receiver> 
</application> 

+0

Считаете ли вы, что он может решить мою проблему? :) Я добавил эту строку, но я должен подождать несколько часов, проверив, что это работает. – Algeroth

+0

попробуйте установить приложение и посмотреть, работает ли трансляция, потому что тот же код работает для меня –

+0

также вы пытаетесь получить состояние состояния соединения или установки для удаления приложения? –

0

Вы добавили это в манифест?

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

Да, конечно. – Algeroth

Смежные вопросы