ブロードキャスト受信者が通知を開始することは可能ですか?アンドロイド通知はブロードキャスト受信者のonReceiveを起動しません
このコードを試しましたが、うまくいきませんでした。
通知が作成されますが、クリックすると何も起こりません。
注:notificationAntentをMyBroadcastReceiver.classからアクティビティ(MainActivity.classなど)を指すように変更すると、正常に動作します。
通知の作成:ここで
NotificationManager notificationManager = (NotificationManager) context.getSystemService(
Context.NOTIFICATION_SERVICE);
int notificationIconId = XXXXXX
Notification notification = new Notification(
notificationIconId,
XXXXXX,
System.currentTimeMillis()
);
CharSequence contentTitle = XXXXXXX
CharSequence contentText = XXXXXX
Intent notificationIntent = new Intent(context,MyBroadcastReceiver.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
notificationManager.notify(1,notification);
は...
public static class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
/*
*/
}
}
内のAndroidManifest.xmlコードから
<receiver android:name=".MyBroadcastReceiver" />
@Abhishek:問題ありません。初めて通知を処理したとき、 'Service '(' getService'を使用)を実際に開始したいときに 'PendingIntent'に' getActivity'を使って同じトラップに落ちました。レッスンはよく学んだ。 :) – Squonk
@AbhishekあなたはnotificationIntentのsetClassについて言及していませんでした 'notificationIntent.setClass(context、MyBroadcastReceiver.class);' – AbdullahDiaa