3

我编写了一个应用程序,它接收传入的 SMS,将其保存并显示给用户。由于三星的 ChatOn 应用程序更新,我的应用程序突然停止接收短信。

这是我的 Manifest.xml:

 <uses-permission android:name="android.permission.RECEIVE_SMS" />


 <receiver android:name="com.myapp.sms.service.SMSReceiver"
     android:permission="android.permission.BROADCAST_SMS" android:exported="true">
     <intent-filter android:priority="999">
         <action android:name="android.provider.Telephony.SMS_RECEIVED" />
     </intent-filter>
 </receiver>

我之前在开始支持 SMS 的环聊中遇到了这个问题。所以,当时我在清单文件中将优先级添加到 999(最大值)。这奏效了。

但最近更新 ChatOn 应用程序后,我的应用程序停止接收短信。请告诉我如何克服这个问题。

为了变通,我取消选中 ChatOn 应用上的 SMS 选项。

任何帮助表示赞赏。

4

1 回答 1

2

在 Android 4.3 及更低版本上,无法保证您的应用程序可以在 SMS 消息中获得“第一次破解”。即使您将应用程序设置为最高优先级,其他应用程序也可以这样做。GoSMS 明显做到了这一点,您已经指出 ChatOn 也这样做。如果他们先收到消息并中止广播,您将不会收到消息。

PackageManager除了检测这种可能性(使用)并提醒用户注意潜在行为之外,您无能为力。

请注意,在 Android 4.4 上,这有很大不同

  • 广播不能再中止
  • 监控 SMS 的应用程序和实际的最终 SMS 客户端应用程序有单独的广播
于 2014-02-23T19:49:10.343 回答