Android 使用 NotificationListenerService 执行通知操作

Android execute a notification action with NotificationListenerService

我有一个 NotificationListenerService class,它可以读取系统中的活动通知。

已设置所有必要的权限,一切正常。

但是我遇到了一个简单的问题。

有一个带有操作的通知:

如何以编程方式“按下”这些按钮?

我忘了检查 Notification 的字段,其中定义了所有 Notification.Action

因此您可以获得他们的 actionIntent 并简单地发送它:

public static class MyNotificationListener extends NotificationListenerService {

    public MyNotificationListener() {
    }

    @Override
    public void onNotificationPosted(StatusBarNotification sbn) {
        super.onNotificationPosted(sbn);
        try {
          sbn.getNotification().actions[0].actionIntent.send();
        } catch (PendingIntent.CanceledException e) {
            e.printStackTrace();
        }
    }
}

想法来自这里: