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 BroadcastReceiver廣播注冊(cè)方式總結(jié)
這篇文章主要介紹了Android BroadcastReceiver廣播注冊(cè)方式總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-01-01Android LayoutInflater加載布局詳解及實(shí)例代碼
這篇文章主要介紹了Android LayoutInflater加載布局詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02Android自定義可點(diǎn)擊的ImageSpan并在TextView中內(nèi)置View
這篇文章主要為大家詳細(xì)介紹了Android自定義可點(diǎn)擊的ImageSpan并在TextView中內(nèi)置"View",具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11深入android Unable to resolve target ''android-XX''詳解
本篇文章是對(duì)android Unable to resolve target 'android-XX'錯(cuò)誤的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06Android以對(duì)話框形式制作數(shù)字軟鍵盤示例
大家好,本篇文章主要講的是Android以對(duì)話框形式制作數(shù)字軟鍵盤示例,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12解決flutter 錯(cuò)誤: 程序包androidx.lifecycle不存在問題
這篇文章主要介紹了解決flutter 錯(cuò)誤: 程序包androidx.lifecycle不存在問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09Android定時(shí)器實(shí)現(xiàn)定時(shí)執(zhí)行、重復(fù)執(zhí)行、定時(shí)重復(fù)執(zhí)行、定次數(shù)執(zhí)行的多種方式
今天小編就為大家分享一篇關(guān)于Android定時(shí)器實(shí)現(xiàn)定時(shí)執(zhí)行、重復(fù)執(zhí)行、定時(shí)重復(fù)執(zhí)行、定次數(shù)執(zhí)行的多種方式,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12android手機(jī)獲取gps和基站的經(jīng)緯度地址實(shí)現(xiàn)代碼
android手機(jī)如何獲取gps和基站的經(jīng)緯度地址,疑問,于是網(wǎng)上搜集整理一些,拿出來和大家分享下,希望可以幫助你們2012-12-12