android開機(jī)自啟動(dòng)原理與實(shí)現(xiàn)案例(附源碼)
Android系統(tǒng)通過應(yīng)用程序自行在系統(tǒng)中登記注冊(cè)事件(即Intent)來響應(yīng)系統(tǒng)產(chǎn)生的各類消息。 Android系統(tǒng)為應(yīng)用程序管理功能提供了大量的API,通過配置Intent和permission來實(shí)現(xiàn)各種功能。
開機(jī)自啟動(dòng)是通過
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.HOME" />
</intent-filter>
和權(quán)限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>實(shí)現(xiàn)。
舉例:
1.新建一個(gè)廣播接收器的類:[Java]
/*
* $filename: BootBroadcastReceiver.java,v $
* $Date: 2013-6-7 $
* Copyright (C) ZhengHaibo, Inc. All rights reserved.
* This software is Made by Zhenghaibo.
*/
package njupt.zhb.startyouself;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
/*
*@author: ZhengHaibo
*web: http://blog.csdn.net/nuptboyzhb
*mail: zhb931706659@126.com
*2013-6-7 Nanjing,njupt,China
*/
public class BootBroadcastReceiver extends BroadcastReceiver {
static final String action_boot="android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(action_boot)){
Intent StartIntent=new Intent(context,MainActivity.class); //接收到廣播后,跳轉(zhuǎn)到MainActivity
StartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(StartIntent);
}
}
}
2.在Manifest.xml文件中注冊(cè)廣播接收機(jī),并且配置權(quán)限
注冊(cè)廣播接收機(jī):
<!-- 注冊(cè)系統(tǒng)廣播接收器 -->
<receiver android:name=".BootBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
添加權(quán)限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
完成上述步驟后,啟動(dòng)一次程序,完成注冊(cè)。等下次手機(jī)開機(jī)時(shí),該軟件即會(huì)自動(dòng)啟動(dòng)。
擴(kuò)展:不僅可以自動(dòng)啟動(dòng)Activity,也可以啟動(dòng)一個(gè)后臺(tái)服務(wù)(Service),只需要修改接收機(jī)中onReceive函數(shù)中的內(nèi)容即可!
項(xiàng)目的源代碼下載
- Android的權(quán)限設(shè)置及自啟動(dòng)設(shè)置方法
- android開機(jī)自啟動(dòng)apk的方法
- android開機(jī)自啟動(dòng)APP及使用adb命令測(cè)試方法
- Android 代碼設(shè)置開機(jī)自啟動(dòng)App的方法
- Android開機(jī)自啟動(dòng)服務(wù)的實(shí)現(xiàn)方法
- android開機(jī)自啟動(dòng)app示例分享
- Android應(yīng)用實(shí)現(xiàn)安裝后自啟動(dòng)的方法
- android引導(dǎo)用戶開啟自啟動(dòng)權(quán)限的方法
- Android開機(jī)自啟動(dòng)程序詳解
- android studio開發(fā)實(shí)現(xiàn)APP開機(jī)自啟動(dòng)
相關(guān)文章
Android 選擇相冊(cè)照片并返回功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 從相冊(cè)中選擇照片并返回功能,需要的朋友可以參考下2018-03-03
Kotlin1.6.20新功能Context?Receivers使用技巧揭秘
這篇文章主要為大家介紹了Kotlin1.6.20功能Context?Receivers使用揭秘,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
android中ViewPager結(jié)合Fragment進(jìn)行無限滑動(dòng)
本篇文章中主要介紹了android中ViewPager結(jié)合Fragment進(jìn)行無限滑動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03
Android Studio 3.0 新功能全面解析和舊項(xiàng)目適配問題
Android Studio是Android的官方IDE。接下來通過本文給大家分享Android Studio 3.0 新功能全面解析和舊項(xiàng)目適配問題,需要的朋友可以參考下2017-11-11
Android實(shí)現(xiàn)為Tab添加Menu的方法
這篇文章主要介紹了Android實(shí)現(xiàn)為Tab添加Menu的方法,分析了兩種解決方法的思路并對(duì)比分析了相應(yīng)的優(yōu)缺點(diǎn),具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10
Android客戶端post請(qǐng)求服務(wù)器端實(shí)例
這篇文章主要介紹了Android客戶端post請(qǐng)求服務(wù)器端實(shí)例,本文講解了Android客戶端與服務(wù)器端通信方式、解析服務(wù)器端返回?cái)?shù)據(jù)的解釋、用GET和POST訪問http資源等內(nèi)容,并給出了一個(gè)POST實(shí)例,需要的朋友可以參考下2015-06-06
Android實(shí)現(xiàn)動(dòng)態(tài)高斯模糊效果
在Android開發(fā)中常常會(huì)用到高斯模糊,但有的時(shí)候我們可能會(huì)需要一個(gè)圖片以不同的模糊程度展現(xiàn)出來,那如何實(shí)現(xiàn)呢,一起通過本文來學(xué)習(xí)學(xué)習(xí)吧。2016-08-08
Flutter實(shí)現(xiàn)可循環(huán)輪播圖效果
這篇文章主要介紹了Flutter實(shí)現(xiàn)可循環(huán)輪播圖效果,本文圖文并茂通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-07-07
Android onNewIntent()觸發(fā)機(jī)制及注意事項(xiàng)
這篇文章主要介紹了Android onNewIntent()觸發(fā)機(jī)制及注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下2016-09-09

