启动完成权限ID禁用后,BroadcastReceiver在重启后无法接收广播

时间:2014-01-15 12:04:21

标签: android

在小米2A,Android 4.1版中,除非我启动我的应用程序,否则我无法在重启后收到任何广播。除非用户打开,否则XiaoMi禁用启动已完成默认应用程序的广播。 我在这里看了很多帖子:

Broadcast receiver not working in ICS if the app is not started atleast once

http://commonsware.com/blog/2011/07/13/boot-completed-regression-confirmed.html

Cannot receive broadcast in ICS

他们都说谷歌刚刚在Android 3.0版之后实现了它。事实是我的Android 4.3的Galaxy Nexus,即使应用程序在重启之后也没有启动,可以接收自定义广播(未启动完成)。 即使使用小米系统,也可以在我为我的应用程序打开启动完成权限后收到广播。有人可以告诉我为什么吗?

这是发送意图:

    Intent intent = new Intent();
    intent.setAction("com.test.test");
    intent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES | intent.getFlags());
    context.sendBroadcast(intent);

,接收如下:

  <receiver
        android:name="com.test.TestReceiver"
        android:exported="true">
    <intent-filter>
        <action android:name="com.test.test"></action>
    </intent-filter>   
  </receiver>

public class TestReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().equals("com.test.test")) {
            Log.e("Chris", "received test action");
        }
    }
}

1 个答案:

答案 0 :(得分:1)

在小米,你可以选择所有应用程序可以自动启动。

Security App > Permissions > Autostart

您可以在此处为自己的应用启用自动启动功能。

我认为这会解决您的问题