Boot BroadcastReceiver 在小米设备上不起作用

Posted

技术标签:

【中文标题】Boot BroadcastReceiver 在小米设备上不起作用【英文标题】:Boot BroadcastReceiver does not work on Xiaomi devices 【发布时间】:2016-06-13 14:36:35 【问题描述】:

我有一个以下BroadcastReceiver,它应该在启动完成后运行。我在我的小米设备 (Redmi 1s) 上测试过,它没有运行,而在 Samsung 等其他设备上运行正常。

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();
        
    

我已在 Manifest 中设置权限。

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

以下是我的广播接收器:

<receiver android:name=".receiver.DeviceBootReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
</receiver>

【问题讨论】:

当应用程序在后台并且接收器被触发但消息为空时,我遇到带有 RECEIVE_SMS 的 android 8 xamoi 手机的问题。对此有任何想法吗? 【参考方案1】:

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

小米设备中,您只需将您的应用添加到自动启动列表中,执行以下简单步骤即可:

    打开手机上的安全应用。

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

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

    打开应用的切换开关,大功告成!

现在,重启你的手机,你会看到一条 Toast 消息我正在跑步

【讨论】:

你帮了我很多!我不知道这个:) @Dimitar:哦!很高兴它对您有所帮助。 小米 hm note1 LTE 中看不到自动启动选项 你救了我的命...我想我永远找不到这个解决方案... @Salivan 我很高兴 :)

以上是关于Boot BroadcastReceiver 在小米设备上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Boot BroadcastReceiver 在小米设备上不起作用

BroadcastReceiver需要android.permission.RECEIVE_BOOT_COMPLETED

使用BroadcastReceiver实现开机自动运行的Service

BroadcastReceiver接收系统广播消息

Android 开机自启动service实践

Android 开机自启动应用