【问题标题】:Receiving SMS messages when app is closed关闭应用时接收短信
【发布时间】:2015-05-17 18:10:00
【问题描述】:

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

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

【问题讨论】:

    标签: android android-intent sms broadcastreceiver receiver


    【解决方案1】:

    如果您想在您的应用关闭后继续接收短信,您应该在不会随您的应用关闭的服务中实现依赖于短信接收的所有内容。请参考此示例:

    Having a Service receive SMS messages

    【讨论】:

    • 感谢您回答此主题。我根据该答案创建了服务类,但它似乎不起作用。你能告诉我我设置清单是否正确吗?
    • 我仍在寻找解决方案。如果可以的话,你能帮忙吗?
    • 您是否尝试过调试您的应用程序?您的应用能够成功创建服务吗?您的清单的问题可能是某些其他应用的优先级高于您的,因此您可以尝试将其设置得更大。
    猜你喜欢
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 2011-10-15
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 2011-05-09
    相关资源
    最近更新 更多