gpt4 book ai didi

Android 接收器 - 多个应用程序中接收器的名称和操作相同

转载 作者:太空狗 更新时间:2023-10-29 14:03:40 30 4
gpt4 key购买 nike

假设我在 2 个应用程序(应用程序 A 和应用程序 B)的 list 中有以下接收器:

<receiver android:enabled="true" android:name="com.MyReceiver">
<intent-filter>
<action android:name="com.COMMON_ACTION" />
</intent-filter>
</receiver>

在每个应用程序中,我想创建一个 PendingIntent(如果不存在),并使用 AlarmManager 将其设置为不精确重复。为了检查是否存在,我执行以下代码:

boolean alarmExists = (PendingIntent.getBroadcast(mContext,
DEFAULT_PENDING_INTENT_ID, intent,
PendingIntent.FLAG_NO_CREATE) != null);

这是否应该在应用程序 A 中返回 false,即使应用程序 B 已经在同一设备上创建了待定 Intent ? 是否有理由在两个应用程序中延迟接收者(通过对每个应用程序使用不同的操作)?

最佳答案

每个应用程序都有自己的 PendingIntent。这些不会在不同的应用程序之间共享。

如果应用程序 A 使用 ACTION="com.COMMON_ACTION"创建了一个 PendingIntent,并且应用程序 B 做了:

Intent intent = new Intent("com.COMMON_ACTION");
boolean alarmExists = (PendingIntent.getBroadcast(mContext,
DEFAULT_PENDING_INTENT_ID, intent,
PendingIntent.FLAG_NO_CREATE) != null);

alarmExists 将为 false

关于Android 接收器 - 多个应用程序中接收器的名称和操作相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34129855/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com