Android 如何拦截传入短信,即使应用程序被用户强制停止

Android 如何拦截传入短信,即使应用程序被用户强制停止,android,android-broadcastreceiver,Android,Android Broadcastreceiver,我希望我的应用程序能够拦截传入的短信,即使我的应用程序被用户强制停止 目前我已经通过使用下面的类启用了BroascastReceiver public class SMSReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { Bundle pudsBundle = intent.getExtras(); Object[] pdus

我希望我的应用程序能够拦截传入的短信,即使我的应用程序被用户强制停止

目前我已经通过使用下面的类启用了BroascastReceiver

public class SMSReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
         Bundle pudsBundle = intent.getExtras();
         Object[] pdus = (Object[]) pudsBundle.get("pdus");
         SmsMessage messages =SmsMessage.createFromPdu((byte[]) pdus[0]);    
         Log.i(TAG,  messages.getMessageBody());


}
通过在舱单中声明许可和接收人

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

<receiver android:name="com.XXX.SMSReceiver" android:exported="true">
<intent-filter android:priority="999">
    <action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
</intent-filter>

我面临的问题是,当用户强制停止应用程序时,我的应用程序无法收听广播接收器


有没有其他办法解决这个问题??提前谢谢

您是否在清单中添加了权限?如果用户强制停止您的应用程序,它将恢复到停止状态,并且在用户再次运行您的应用程序之前,您的接收器将无法工作(从API 3.1开始)。你对此无能为力。@SohailZahid:正如迈克所说,你不能这么做是有原因的。你唯一能做的(只是为了防止意外的强制关闭)是从最近删除你的应用程序或隐藏启动器。@JacksOnF1re,这是一个有用的解决方法,你能指出如何实现这一点吗,你是否在清单中添加了权限?如果用户强制停止你的应用程序,它会回到停止状态,直到用户再次运行你的应用程序,你的接收器才会工作(从API 3.1开始)。你对此无能为力。@SohailZahid:正如迈克所说,你不能这么做是有原因的。你能做的唯一一件事(只是为了防止意外强制关闭)是从最近的应用程序中删除你的应用程序或隐藏启动器。@JacksOnF1re,这是一个有用的解决方法,你能指出如何实现这一点吗,