私はFCMを使用しており、ドキュメントごとに「通知はデバイスのシステムトレイに配信されています」。だから、通知メッセージがユーザによって却下されたときに保留中のインテントを付けたり、ブロードキャスト/コールバックを登録する方法はありますか?fcm通知メッセージがユーザーによって却下されたときにブロードキャストまたはコールバックを取得する方法はありますか?
これを実行する方法はありますか?または、データメッセージを使用して、通知が却下された場合にブロードキャストを受信するという保留中の意図で手動で通知を作成する必要がありますか?
EDIT - ソリューション
public class NotificationListener extends NotificationListenerService {
private boolean isSafeToExecute, isNotificationAccessEnabled;
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
super.onNotificationPosted(sbn);
}
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
Log.e("removed", sbn.getNotification().getClass().getSimpleName());
}
@Override
public void onListenerConnected() {
super.onListenerConnected();
isSafeToExecute = true;
}
@Override
public void onListenerDisconnected() {
super.onListenerDisconnected();
isSafeToExecute = false;
}
@Override
public IBinder onBind(Intent mIntent) {
IBinder mIBinder = super.onBind(mIntent);
isNotificationAccessEnabled = true;
return mIBinder;
}
@Override
public boolean onUnbind(Intent mIntent) {
boolean mOnUnbind = super.onUnbind(mIntent);
isNotificationAccessEnabled = false;
return mOnUnbind;
}
}
上記のいずれかが動作します。私は以前、問題を引き起こしたBindとOnUnbindをオーバーライドしていません。 付与されていない場合に通知アクセスを許可するようにユーザーに依頼すると、このリンクが役立ちます。 Check if user has granted NotificationListener access to my app
こんにちは、FCM通知メッセージでNotificationListenerServiceを使用しましたか? – Debanjan
はい、詳細については、このリンクをチェックしてください。https://developer.android.com/reference/android/service/notification/NotificationListenerService.html –
私はそれを試しましたが、fcm通知が終了したときに通知を受けませんまたはonNotificationPostedです。 startService()を使用してサービスを手動で開始する必要がありますか、それとも目的がありますか? 私はリンクとして正確に行っています。 もう1つ、設定 - >セキュリティ - >通知アクセスに移動すると、 アプリが表示されず、代わりに表示されます "このデバイスのアプリケーションは通知を読み取ることができません" – Debanjan