Iam application de notification d'écriture. Pour définir une notification, j'utilise AlarmManager.Notification Huawei EMUI
Tout semble bien fonctionner, malheureusement pas chez Huawei. Lorsque l'utilisateur ferme les notifications de l'application qui ne parviennent pas (sur les autres appareils LG, NEXUS fonctionne bien).
Une idée de comment y remédier?
intent = new Intent(context, AlarmReceiver.class);
sender = PendingIntent.getBroadcast(context, alarmId, intent, 0);
am.set(android.app.AlarmManager.RTC_WAKEUP, timeToAlarm, sender);
EDIT
public class AlarmReceiver extends BroadcastReceiver {
private static final String TAG = "AlarmReceiver";
private PowerManager.WakeLock wakeLock;
@Override
public void onReceive(Context context, Intent intent) {
PowerManager pm = (PowerManager) context
.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
wakeLock.acquire();
new NotificationUtils(context, null).postNotification(context.getString(R.string.notification_title), context.getString(R.string.notification_message));
unlock();
}
private void unlock() {
if (wakeLock != null)
if (wakeLock.isHeld())
wakeLock.release();
wakeLock = null;
}
}
vous avez dit que vous fermez votre application. Ok mais il y a un service ou un récepteur de diffusion en arrière-plan? Si vous fermez l'application Android peut le tuer. –
Je viens de le faire glisser à partir de la liste des processus. Est-il possible que seulement sur ce type de dispositifs, après il tue toutes les émissions? et si oui, que puis-je faire pour l'empêcher? – Ikazuchi
vous ne pouvez pas compter sur votre application pour lancer une notification, car il peut être annulé à tout moment. Vous devez implémenter un broadcastreceiver ou un service en arrière-plan et lancer une notification à partir de celui-ci. Dans d'autres travaux de téléphone mais est aléatoire. –