在 Android 12 中,如果您使用了 App Widget,您可能会遇到无法在 widget 上执行 pendingIntent 的问题。这是由于 Android 12 引入了新的安全性限制。为了解决这个问题,您需要将您的 pendingIntent 中的 action 添加到 App Widget 的权限里。
下面是添加 action 到 App Widget 权限中的示例代码:
在这个示例中,我们将 com.example.myappwidget.MY_ACTION
添加到了 App Widget 的权限中。这个 action 就是我们在 pendingIntent 中使用的 action。
如果您的 App Widget 已经有了一个正常工作的 intent,只需要在 intent 中添加您想要的 action 就可以了:
Intent intent = new Intent(context, MyActivity.class);
intent.setAction("com.example.myappwidget.MY_ACTION");
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
添加了 action 后,您就可以在 Android 12 上正常地使用 pendingIntent 了。