我在物理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>
答案 0 :(得分:1)
Intent intent=new Intent(this, MainActivity.class);
您在此处指定的Java类是MainActivity
。
android:name=".Helpers.MyReceiver"
您在此处指定的Java类是.Helpers.MyReceiver
。
这些不一样。此接收器不会在任何Android版本上接收此广播,更不用说Android 8.1。