Java BroadcastReceive()未触发

Java BroadcastReceive()未触发,java,android,Java,Android,我看了很多关于这个主题的教程和讨论,但没有任何帮助。我可能遗漏了一些明显的东西。所以,我试图在收到短信时显示祝酒词 我的清单是这样的:我试图按照另一个趋势的建议,将最高优先级放在首位,但没有效果: <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.READ_SMS" />

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

我的清单是这样的:我试图按照另一个趋势的建议,将最高优先级放在首位,但没有效果:

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

我应该在MainActivity中添加一些内容吗?根据我看到的例子,我认为应该这样做。如果您有想法,非常感谢。

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

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

也许您需要将默认短信应用更改为您自己的应用在检查时允许权限?也许您需要更改默认的短信应用到您自己的应用在您检查时允许该权限?谢谢您的链接!!如果有人有同样的问题:-对于API<26,只需将此:android:enabled=“true”添加到清单(receiver部分)中即可工作-对于API>26:您必须在主要活动中请求用户对sms的权限。这个教程帮助了我很多:谢谢你的链接!!如果有人有同样的问题:-对于API<26,只需将此:android:enabled=“true”添加到清单(receiver部分)中即可工作-对于API>26:您必须在主要活动中请求用户对sms的权限。本教程对我帮助很大:
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();
        }
}
}