我有一个应用程序,允许用户在收到短信时转发短信。过去android:priority
,我intent-filter
的 forandroid.provider.Telephony.SMS_RECEIVED
设置仅略高于 Android 的默认消息传递应用程序。我这样做是为了让用户可以转发消息,而无需在消息应用程序中清除它们。然而,几个月后,Go SMS Pro 发布了一个android:priority
价值极高的应用程序更新,因此安装该应用程序的用户开始遇到问题。我更新了我的应用程序,使我的优先级略高于 Go SMS Pro,一切顺利。现在 Go SMS Pro 又做了一次,它们android:priority
已经达到了您可以分配的最大值。2147483647 在他们的一个广播接收器上,2147483640 在另一个广播接收器上(是的,Go SMS Pro 现在有两个广播接收器)。
为了解决这个问题,我尝试像他们一样将我的优先级更改为最大,但不知何故,即使我们的优先级相同,他们的应用程序仍然在赢得 SMS 战斗。我在某处读到,Android 在必须在具有相同优先级的两个应用程序之间做出决定时,它会选择最早安装的应用程序。我尝试在我的应用程序之后安装 Go SMS Pro,但仍然没有。
解决此问题的正确方法是什么?他们在他们的应用程序中做了什么让他们在其他人之前获得 SMS 广播,即使具有相同的android:priority
值?