Fix notification action receiver

This commit is contained in:
Yegor Vialov 2020-05-25 09:54:00 +00:00
parent b1e5e73278
commit 343494ece0
2 changed files with 2 additions and 3 deletions

View File

@ -98,7 +98,7 @@ public class MessagingService extends FirebaseMessagingService {
Log.d(TAG, "Putting a tag to the action: " + nTag); Log.d(TAG, "Putting a tag to the action: " + nTag);
broadcastIntent.putExtra("tag", nTag); broadcastIntent.putExtra("tag", nTag);
broadcastIntent.putExtra("actionData", data.get("action" + i + "_data")); broadcastIntent.putExtra("actionData", data.get("action" + i + "_data"));
PendingIntent actionIntent = PendingIntent.getBroadcast(this, i, broadcastIntent, 0); PendingIntent actionIntent = PendingIntent.getBroadcast(this, i, broadcastIntent, PendingIntent.FLAG_CANCEL_CURRENT);
notificationBuilder.addAction(R.drawable.mini_icon, data.get("action" + i), actionIntent); notificationBuilder.addAction(R.drawable.mini_icon, data.get("action" + i), actionIntent);
} }
} }

View File

@ -21,15 +21,14 @@ public class NotificationActionReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
String rawActionData = intent.getStringExtra("actionData"); String rawActionData = intent.getStringExtra("actionData");
String notificationTag = intent.getStringExtra("tag"); String notificationTag = intent.getStringExtra("tag");
Log.d(TAG, "Has 'tag': " + intent.hasExtra("tag"));
Log.d(TAG, "Canceling notification by tag: " + notificationTag); Log.d(TAG, "Canceling notification by tag: " + notificationTag);
Log.d(TAG, "action data: " + rawActionData);
NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancel(notificationTag, 0); notificationManager.cancel(notificationTag, 0);
SharedPreferences prefs = context.getSharedPreferences("FlutterSharedPreferences", Context.MODE_PRIVATE); SharedPreferences prefs = context.getSharedPreferences("FlutterSharedPreferences", Context.MODE_PRIVATE);
String webhookId = prefs.getString("flutter.app-webhook-id", null); String webhookId = prefs.getString("flutter.app-webhook-id", null);
if (webhookId != null) { if (webhookId != null) {
try { try {
Log.d(TAG, "Got webhook id");
String requestUrl = prefs.getString("flutter.hassio-res-protocol", "") + String requestUrl = prefs.getString("flutter.hassio-res-protocol", "") +
"://" + "://" +
prefs.getString("flutter.hassio-domain", "") + prefs.getString("flutter.hassio-domain", "") +