Boot BroadcastReceiver无法在小米设备上运行

zee*_*ali 10 android broadcastreceiver android-permissions android-reboot android-broadcastreceiver

我有一个跟随BroadcastReceiver,应该在启动完成后运行.我已经在我的小米设备(Redmi 1s)上进行了测试,它没有运行,而在像三星这样的其他设备上它按预期运行.

public class DeviceBootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
            Toast.makeText(context, "I am Running", Toast.LENGTH_SHORT).show();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我已在Manifest中设置了权限.

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
Run Code Online (Sandbox Code Playgroud)

以下是我的广播接收器:

<receiver android:name=".receiver.DeviceBootReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

zee*_*ali 23

我在网上搜索并找到了解决方案,我决定回答我自己的问题.按照问题中给出的相同代码.

小米设备中,您只需将应用程序添加到自动启动列表,为此,请按照以下简单步骤操作:

  1. 在手机上打开安全应用.

  2. 点击权限,它会显示两个选项:自动启动和权限

  3. 点击自动启动,它会显示带有开启或关闭切换按钮的应用列表.

  4. 打开你的应用程序切换,你就完成了!

现在,重新启动手机,您将看到我正在运行的Toast消息

  • 你帮了我很多忙!我不知道这个:) (2认同)