on 8.18上的接收广播

时间:2018-01-19 20:42:02

标签: java android

我在物理Android 8.0(API 26)设备和8.0模拟器上进行了工作广播。它不适用于Android 8.1.0模拟器或物理设备。

我也试过注册接收器但仍然没有工作。

Intent intent=new Intent(this, MainActivity.class);
intent.setAction("com.my.receiver");
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
sendBroadcast(intent);

XML

<receiver
    android:name=".Helpers.MyReceiver"
    android:enabled="true"
    android:exported="true">
    <intent-filter>
        <action android:name="com.my.receiver"/>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
</receiver>

1 个答案:

答案 0 :(得分:1)

Intent intent=new Intent(this, MainActivity.class);

您在此处指定的Java类是MainActivity

android:name=".Helpers.MyReceiver"

您在此处指定的Java类是.Helpers.MyReceiver

这些不一样。此接收器不会在任何Android版本上接收此广播,更不用说Android 8.1。