私は PendingIntent で少し迷っています。
私が理解できる限り、これはOSに与えられたトークンであり、後で(したがって保留中の)操作を実行します。
サービスを開始したアクティビティがあります。このサービスは、ときどき通知を作成します。私がやろうとしていることは、最も単純なこととして、活動を前面に出すことです。
PendingActivity をどこで、どのように作成し、誰に送信するのかがわかりません。
- アクティビティ内で作成した場合、それをサービスに送信する必要があります - どのように?
- サービス内で作成した場合、アクティビティを呼び出すコンテキストはどのようになりますか? これらは同じですか?- OSの仕組みと同じだと思っていましたが、うまくいきませんでした。
ここにいくつかのコード行があります
これは機能していませんが、StartService は Intent を取得します。このコードは私のアクティビティにあります
Intent intent = new Intent(this, NeglectedService.class);
// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this,
0,
intent,
PendingIntent.FLAG_ONE_SHOT);
startService(contentIntent);
したがって、正しいものは
Intent intent = new Intent(this, NeglectedService.class);
startService(contentIntent);
そのため、サービスで保留中の意図を作成することを考えていますが、意図を再利用/使用する方法がわからないため、これはうまくいきませんでした
Notification notification = new Notification(R.drawable.icon,
extra,
System.currentTimeMillis());
PendingIntent contentIntent = PendingIntent.getActivity(this,
0,
intent, // not sure what intent to use here !!!!
PendingIntent.FLAG_ONE_SHOT);
notification.setLatestEventInfo(getApplicationContext(), contentTitle, contentText, contentIntent);
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_LIGHTS;
notification.defaults |= Notification.FLAG_INSISTENT;
mNotificationManager.notify(id, notification);