J'essaie de faire en sorte que mon application utilise AlarmManager pour envoyer une notification après 5 secondes, mais le pendingIntent ne semble pas être appelé. Heres mon codePourquoi mon AlarmManager n'attend pas le Pendingintent
En onCreate dans MainActivity:
Long alertTime = new GregorianCalendar().getTimeInMillis()+5*1000;
Intent alertIntent = new Intent(this, Notification.class);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, alertTime , PendingIntent.getBroadcast(this, 1, alertIntent, PendingIntent.FLAG_UPDATE_CURRENT));
Notification.class:
public class Notification extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
PendingIntent notificIntent = PendingIntent.getActivity(context, 0, new Intent(context, MainActivity.class), 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context);
mBuilder.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Title")
.setTicker("Ticker")
.setContentText("Text");
mBuilder.setContentIntent(notificIntent);
mBuilder.setDefaults(NotificationCompat.DEFAULT_VIBRATE);
mBuilder.setAutoCancel(true);
NotificationManager mNotificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(1, mBuilder.build());
}
}
Android Manifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.wouter.lifetracker"
android:versionCode="1"
android:versionName="1.0" android:installLocation="auto">
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="21" />
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".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=".Notification"
>
</receiver>
</application>
J'ai cherché pendant des heures, mais je ne peux pas savoir pourquoi rien ne se passe
Merci pour votre réponse Oui, c'est seulement 5 secondes pour que je puisse facilement vérifier wether cela fonctionne ou non, à la fin il est censé partir une fois par jour. J'ai essayé votre suggestion et cela ne fonctionne toujours pas. Je suis en train de tester cette application sur mon téléphone, alors peut-être que c'est juste un problème avec mon téléphone? – Wolion