重启接收器在xiaomi手机中不起作用

N S*_*rma 25 android broadcastreceiver

嗨我们正在开发一个Android应用程序,我们正在使用重启接收器,我正在启动一些服务,我正在执行一些网络操作.

我想通了,在像xiaomi等一些Android设备中,重启接收器无法正常工作.

早些时候我知道在HTC设备中它也不起作用所以我再添加一个intent过滤器<action android:name="android.intent.action.QUICKBOOT_POWERON" />然后它开始工作正常.现在像小米这样的其他手机仍然没有用.

我必须另外设置,以便它在所有设备中正常工作,而无需用户手动更新任何设置.

<receiver
    android:name="com.xyz.broadcastreceiver.ServiceStarter"
    android:exported="true" >
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

提前致谢.

San*_*rde 10

运行MIUI的小米手机有一个内置的启动应用程序拦截器.也许这会干扰您的启动接收器.


wyz*_*ard 6

好的,我们再试一次.MIUI有一个内置的安全应用程序.在安全应用程序中有一个"启动"部分,用户可以在其中配置哪个应用程序可以以及哪个应用程序无法在启动时运行.您的应用程序默认为禁用.此外,如果您检查Logcat,您可以在启动时看到"权限被拒绝"消息.将您的应用手动添加到列入白名单的应用中,遗憾的是您的用户只能这样做.


tah*_*pam 5

MIUI 有一个内部功能,可以防止应用程序重新启动以节省电池和 RAM。您必须手动切换自动启动选项才能接收BOOT_COMPLETED 的广播。转到“设置”>“已安装的应用程序”>“您的应用程序”。然后只需打开自动启动选项。没有选项可以以编程方式阻止这种情况。相反,如果您的应用用户在使用您的应用时遇到问题(例如:警报未正确触发),您可以通知他们的用户,他们可以从“设置”中启用“自动启动”。

在此处输入图片说明


小智 3

小米有一个报告的错误,仅在系统
实际启动后 5 分钟使用此接收器 -
http://xiaomi.eu/community/threads/alarmmanager-_wakeup-problem.21430/
您可以尝试添加 -

android:enabled="true"即使android:exported="true"
由于制造商系统的变化,它们应该默认设置为 true,
在小米 Android 定制操作系统上可能会有所不同。
只需注意它们的含义,
因为“android:exported="true"
将允许其他应用程序访问您的接收器”。