前言
鑒于廣播應(yīng)用之廣泛,種類之繁多。那么今天我們就來講講開機(jī)廣播監(jiān)聽的相關(guān)知識(shí)吧。
今天涉及的內(nèi)容:
- Android實(shí)現(xiàn)app自啟動(dòng)監(jiān)聽通用做法
- 效果圖和項(xiàng)目結(jié)構(gòu)圖
- app自啟動(dòng)功能實(shí)現(xiàn)現(xiàn)狀
先來看看效果吧

1.gif
一.Android實(shí)現(xiàn)app自啟動(dòng)監(jiān)聽通用做法
在Android開發(fā)過程中,我們經(jīng)常會(huì)遇到一些變態(tài)需求。希望在手機(jī)一開機(jī)就自啟動(dòng)一個(gè)特定的app,并且希望這個(gè)app不能退出,只要設(shè)備在開啟狀態(tài)下,此app就處于霸屏狀態(tài)。
于是,大家想到的一個(gè)方法就是利用開機(jī)廣播來實(shí)現(xiàn)app的自啟動(dòng)。
下面就來講講app開機(jī)自啟動(dòng)的實(shí)現(xiàn)吧。
1. 申請(qǐng)監(jiān)聽開機(jī)啟動(dòng)廣播
在Androidmanifast.xml 中添加開機(jī)自啟動(dòng)權(quán)限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2. 寫一個(gè)廣播接收器,并在onReceiver方法中做跳轉(zhuǎn)到app的操作
以寫的一個(gè)BootCompleteReceiver代碼為例:
public class BootCompleteReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent arg1) {
LogUtil.i("=========開機(jī)自啟動(dòng)=========="+arg1.getAction());
//啟動(dòng)app代碼
Intent autoStart = new Intent(context, MainActivity.class);
autoStart.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(autoStart);
}
}
3. 在Manifast.xml 文件中注冊開機(jī)廣播接收器,并添加相對(duì)應(yīng)flag
在 manifast.xml 文件中注冊廣播