Receptor de radiodifusión funciona pero después de 1 ó 2 horas no funciona

Aquí está mi manifiesto

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

y

 public class MyCallReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING)) { some code } if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_IDLE) || intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_OFFHOOK)){ some code } } } 

Funciona, pero después de algún tiempo que presione el botón de nuevo y el teléfono esté inactivo ya no funciona

(I añadió "android.os.Process.killProcess (android.os.Process.myPid ())" al final de mi código y ahora es mejor y el trabajo de tal vez 2 3 horas después de la última ejecución)

Usted puede utilizar el pesebre de la alarma al receptor de la difusión después de cierto intervalo de tiempo como esto.

 public static void scheduleTestAlarmReceiver(Context context) { Intent receiverIntent = new Intent(context, TestAlarmReceiver.class); PendingIntent sender = PendingIntent.getBroadcast(context, 123456789, receiverIntent, 0); AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime()+startDelay, someDelay, sender); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.