10

我有一个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();
        }
    }
}

我已经在 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>
4

1 回答 1

26

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

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

  1. 打开手机上的安全应用程序。

  2. 点击Permissions,它会显示两个选项:Autostart 和 Permissions

  3. 点击Autostart,它会显示带有打开或关闭切换按钮的应用程序列表。

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

现在,重启你的手机,你会看到我正在运行的 Toast 消息

于 2016-03-03T11:18:28.043 回答