J'ai une application dont les fonctionnalités principales dépendent de l'alarme mais parfois l'alarme est déclenchée, je dis que c'est parce que le système tue votre application avant que l'alarme se déclenche en cas d'incendie, même après l'application tué, voici comment je réglage de l'alarmeComment faire pour déclencher des alarmes même si l'application est arrêtée par le système
public static void setEndAlarm(){
AlarmManager alarmManager = (AlarmManager) MyApplication.getContext().getSystemService(Context.ALARM_SERVICE);
Calendar time = Calendar.getInstance();
time.setTimeInMillis(System.currentTimeMillis());
time.set(Calendar.HOUR_OF_DAY, SharedPrefUtils.getEndHour(MyApplication.getContext()));
time.set(Calendar.MINUTE, SharedPrefUtils.getEndMin(MyApplication.getContext()));
time.set(Calendar.SECOND, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, time.getTimeInMillis(), endPendingIntent(MyApplication.getContext()));
}
private static PendingIntent endPendingIntent(Context context){
Intent intent = new Intent(context, ClsEndBroadcastReciever.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 02, intent, PendingIntent.FLAG_ONE_SHOT);
return pendingIntent;
}
et le contexte se présente comme suit:
public class MyApplication extends Application {
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
public static Context getContext() {
return mContext;
}
}
diffusion récepteur:
public class ClsEndBroadcastReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
FirebaseJobDispatcher dispatcher = new
FirebaseJobDispatcher(new GooglePlayDriver(context));
dispatcher.cancel("notification");
Toast.makeText(context, "End Time", Toast.LENGTH_SHORT).show();
}
}
Je pense que les services sont également tués, est-ce vrai – blackHawk
Oui dans certains appareils comme oppp, vivo et beaucoup dispositif personnalisé Android similaire, si vous supprimez l'application de la barre des tâches (Glisser pour effacer), puis cette application ira à l'arrêt de la force qui fait que tous vos services à être tué. –
Alors, comment puis-je assurer la fiabilité de mon application? – blackHawk