首页 > 解决方案 > BroadcastReceiver OnReceive() 未触发

问题描述

我看到了很多关于这个主题的教程和 StackOverflow 讨论,但没有任何帮助。我可能遗漏了一些明显的东西。所以,我试图在收到短信时显示敬酒消息。

我的清单如下所示:我尝试按照建议将最高优先级放在另一个趋势上,但没有效果:

    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <receiver android:name="com.araxide.nottogetherthistime.SMSReceiver" android:exported="true">
            <intent-filter android:priority="2147483647">
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>

这是 SMSReceiver 类。

public class SMSReceiver extends BroadcastReceiver {

    private final String ACTION_RECEIVE_SMS = "android.provider.Telephony.SMS_RECEIVED";
    @Override
    public void onReceive(Context context, Intent intent) {
           // Toast.makeText(context, "SMS Received!", Toast.LENGTH_LONG).show();
        if (intent.getAction().equals(ACTION_RECEIVE_SMS)) {
            Toast.makeText(context, "SMS Received!", Toast.LENGTH_LONG).show();
        }
}
}

我应该在 MainActivity 中添加一些东西吗?根据我看到的示例,我相信它应该以这种方式工作。非常感谢,如果你有一个想法。

标签: javaandroid

解决方案


链接这似乎是一个类似的问题,工作解决方案也在这里发布。


推荐阅读