我正在制作一个自动响应传入 SMS 消息的 Android 应用程序。它检测传入的 SMS 消息,BroadcastReceiver
如下所示AndroidManifest.xml
<receiver android:name=".receiver.SMSBroadcastReceiver" >
<intent-filter android:priority="1000" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
SMSBroadcastReceiver
如下_
public class SMSBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
// code here to deal with message etc.
}
}
这一切都很好。当我安装Facebook Messenger并检查“打开短信”和“用作主要短信应用程序”时会出现问题,如下所示:
现在永远不会调用这些设置onReceive(Context context, Intent intent)
,因此对于使用此或其他 3rd 方 SMS 应用程序的人,我的应用程序不起作用!
迄今为止的进展
我已经意识到,如果abortBroadcast();
fbook 具有更高的优先级,它可能会在它到达我的应用程序之前被调用,但我已经将优先级设置为最大值 1000。