2分ごとに通知を作成しようとしていますが、通知が1つだけ作成されています(アプリ起動時)。 私のコードは次のとおりです。なぜ2分ごとにアンドロイド通知が行われないのですか?
notifyme.java:MainActivity.javaで
public class notifyme extends Service {
@Override
public void onCreate() {
super.onCreate();
Intent intent=new Intent(this,MainActivity.class);
TaskStackBuilder stackBuilder=TaskStackBuilder.create(this);
stackBuilder.addParentStack(MainActivity.class);
stackBuilder.addNextIntent(intent);
PendingIntent pendingIntent=stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder notify=new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Hello")
.setContentText("Some random text")
.setDefaults(Notification.DEFAULT_ALL)
.setWhen(System.currentTimeMillis())
.setContentIntent(pendingIntent)
.setAutoCancel(true);
NotificationManager nMgr=(NotificationManager)this.getSystemService(this.NOTIFICATION_SERVICE);
Random r=new Random();
int nid=r.nextInt(50000)+1;
nMgr.notify(nid,notify.build());
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
:すべての
Intent notificationIntent = new Intent(this, notifyme.class);
PendingIntent contentIntent = PendingIntent.getService(getApplicationContext(), 0, notificationIntent,0);
AlarmManager am = (AlarmManager) getSystemService(this.ALARM_SERVICE);
am.cancel(contentIntent);
am.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),120*1000, contentIntent);
それを 'BroadcastReceiver'に変更します。あなたのサービスは最初のものによって作成され、破壊されないので、再び作成されません。 – Budius
BroadcastReceiverは同じ通知IDが提供されても、以前の通知がクリアされない場合でも通知音を出します1つ(必要に応じて)。ありがとうございました – abhi96