Android 使用广播系统解决app开机自启动问题

Demo地址 如果有所帮助记得关注,点Star
总结一下使用ACTION_BOOT_COMPLETED的广播,解决app开机自启动的问题
1.首先在你的工程上建一个广播接受的类,继承BroadcastReceiver:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package guide.example.com.guidedemo;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

/**
* Created by fby on 2017/6/26.
*/

public class BootReceiver extends BroadcastReceiver {
static final String action_boot ="android.intent.action.BOOT_COMPLETED";

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

Log.i("charge start", "启动完成");

if (intent.getAction().equals(action_boot)){

Intent mBootIntent = new Intent(context, MainActivity.class);
// 下面这句话必须加上才能开机自动运行app的界面
mBootIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mBootIntent);
}
}
}

2.然后要在AndroidManifest.xml中加入权限和配置相关信息:

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

3.在application标签中,配置以下相关信息:

1
2
3
4
5
6
7
8
9
10
//BootReceiver是上面建的广播类
<receiver android:name=".BootReceiver">
<intent-filter>
<!--注册开机广播地址-->
<action android:name="android.intent.action.BOOT_COMPLETED">
</action>

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>

补充说明:
1.查看系统中是否安装了类似360管家的软件,为了加快开机速度,默认是关闭掉开机广播的,只需要在设置中打开即可。
2.如果监听不到广播,可以尝试同时监听广播和sd卡。
3.同时监听广播和sd卡,在application标签中,配置以下相关信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<receiver android:name=".broadcastReceiver.BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />

<category android:name="android.intent.category.HOME" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<action android:name="android.intent.action.PACKAGE_REPLACED" />

<data android:scheme="package" />
</intent-filter>

</receiver>

公众号:网罗开发

-------------本文结束感谢您的阅读-------------

本文标题:Android 使用广播系统解决app开机自启动问题

文章作者:Swift社区

发布时间:2018年01月31日 - 12:01

最后更新:2018年01月31日 - 14:01

原始链接:https://fanbaoying.github.io/Android-使用广播系统解决app开机自启动问题/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!