2

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

我的 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>

我的 Receiver.java

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();
        }
    }
}
4

1 回答 1

1

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

让服务接收 SMS 消息

于 2015-05-17T18:30:36.107 回答