android開機自啟動原理與實現(xiàn)案例(附源碼)
Android系統(tǒng)通過應(yīng)用程序自行在系統(tǒng)中登記注冊事件(即Intent)來響應(yīng)系統(tǒng)產(chǎn)生的各類消息。 Android系統(tǒng)為應(yīng)用程序管理功能提供了大量的API,通過配置Intent和permission來實現(xiàn)各種功能。
開機自啟動是通過
<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>實現(xiàn)。
舉例:
1.新建一個廣播接收器的類:[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文件中注冊廣播接收機,并且配置權(quán)限
注冊廣播接收機:
<!-- 注冊系統(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>
完成上述步驟后,啟動一次程序,完成注冊。等下次手機開機時,該軟件即會自動啟動。
擴展:不僅可以自動啟動Activity,也可以啟動一個后臺服務(wù)(Service),只需要修改接收機中onReceive函數(shù)中的內(nèi)容即可!
項目的源代碼下載
相關(guān)文章
Android BroadcastReceiver廣播注冊方式總結(jié)
這篇文章主要介紹了Android BroadcastReceiver廣播注冊方式總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-01-01Android LayoutInflater加載布局詳解及實例代碼
這篇文章主要介紹了Android LayoutInflater加載布局詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02Android自定義可點擊的ImageSpan并在TextView中內(nèi)置View
這篇文章主要為大家詳細介紹了Android自定義可點擊的ImageSpan并在TextView中內(nèi)置"View",具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11深入android Unable to resolve target ''android-XX''詳解
本篇文章是對android Unable to resolve target 'android-XX'錯誤的解決方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06解決flutter 錯誤: 程序包androidx.lifecycle不存在問題
這篇文章主要介紹了解決flutter 錯誤: 程序包androidx.lifecycle不存在問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09Android定時器實現(xiàn)定時執(zhí)行、重復(fù)執(zhí)行、定時重復(fù)執(zhí)行、定次數(shù)執(zhí)行的多種方式
今天小編就為大家分享一篇關(guān)于Android定時器實現(xiàn)定時執(zhí)行、重復(fù)執(zhí)行、定時重復(fù)執(zhí)行、定次數(shù)執(zhí)行的多種方式,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12android手機獲取gps和基站的經(jīng)緯度地址實現(xiàn)代碼
android手機如何獲取gps和基站的經(jīng)緯度地址,疑問,于是網(wǎng)上搜集整理一些,拿出來和大家分享下,希望可以幫助你們2012-12-12