Android 当应用程序关闭时接收短信

Android 当应用程序关闭时接收短信,android,android-intent,sms,broadcastreceiver,receiver,Android,Android Intent,Sms,Broadcastreceiver,Receiver,当应用程序关闭时,我如何接收短信? 下面的代码可以正常工作,但当应用程序关闭时,例如重新启动后,它就不工作了。(实际上,它只在应用程序关闭后的最初几分钟起作用,奇怪…) My AndroidManifest.xml <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMP

当应用程序关闭时,我如何接收短信? 下面的代码可以正常工作,但当应用程序关闭时,例如重新启动后,它就不工作了。(实际上,它只在应用程序关闭后的最初几分钟起作用,奇怪…)

My AndroidManifest.xml

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

<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
    <activity ....>
    ....
    </activity>

    <receiver android:name=".Receiver" android:exported="true" android:enabled="true">
        <intent-filter android:priority="1">
            <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
</application>

如果你想在你的应用程序关闭后继续接收短信,你应该在一个不会随你的应用程序关闭的服务中实现短信接收所依赖的所有功能。请参阅此示例以执行此操作:


感谢您回复此帖子。我根据这个答案创建了服务类,但它似乎不起作用。你能告诉我我是否正确设置了舱单吗?我还在寻找解决办法。如果可以的话,你能帮忙吗?你试过调试你的应用程序吗?您的应用是否能够成功创建服务?你们清单上的问题可能是其他应用的优先级比你们的高,所以你们可以试着把它设置得更大。
public class Receiver extends BroadcastReceiver
{
    @Override public void onReceive(Context context, Intent intent)
    {
        if(cond)
        {
            abortBroadcast();
            Toast.makeText(context, "Registration Completed", Toast.LENGTH_LONG).show();
        }
    }
}