Android 開機(jī)自啟動Service實(shí)現(xiàn)詳解
1、修改AndroidManifest.xml文件
// 添加接收開機(jī)廣播的權(quán)限 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> // 注冊接收開機(jī)廣播的receiver <receiver android:name=".BootBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </receiver> //注冊需要啟動的Service <service android:name=".TestService" android:exported="true" android:process="com.test.service"> <intent-filter> <action android:name="com.test.Service" /> </intent-filter> </service>
2、recerver中啟動service
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 mintent = new Intent(context, TestService.class); context.startService(mintent); } } }
3、去掉該服務(wù)APP的桌面圖標(biāo)
正常APP安裝后,在Launcher中會顯示圖標(biāo),由于我們的應(yīng)用是個后臺服務(wù),所以不需要顯示圖標(biāo),不顯示桌面圖標(biāo)有兩種方式
第一種
去掉Manifest文件中的<category android:name="android.intent.category.LAUNCHER" />該屬性
<activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> </intent-filter> </activity>
備注這種做法在調(diào)試時(shí),不能通過編輯器直接運(yùn)行,需要編譯成APK,再手動安裝到設(shè)備中。
第二種
在activity的<intent-filter>標(biāo)簽中添加<data android:scheme="com.****.****"/>
<activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> // "com.****.****"為應(yīng)用包名 <data android:scheme="com.****.****"/> </intent-filter> </activity>
備注這種做法在調(diào)試時(shí),可以直接在編輯器中運(yùn)行,相對方便一些,兩種方式均可以隱藏桌面圖標(biāo)。
4、將APP放到/system/app目錄下
在Android3.1之后,系統(tǒng)為了加強(qiáng)安全性控制,應(yīng)用程序安裝后或是(設(shè)置)應(yīng)用管理中被強(qiáng)制關(guān)閉后處于stopped狀態(tài),在這種狀態(tài)下接收不到任何廣播。對于android3.1以后版本,如果要應(yīng)用接收開機(jī)廣播有兩種方法:
a).將應(yīng)用預(yù)置到/system/app/目錄。
b).安裝應(yīng)用后先啟動一次。(應(yīng)用只要啟動過一次,就不處于stopped狀態(tài))
以上就是Android 開機(jī)自啟動Service實(shí)現(xiàn)詳解的詳細(xì)內(nèi)容,更多關(guān)于Android 開機(jī)自啟動Service的資料請關(guān)注腳本之家其它相關(guān)文章!
- Android?Service啟動綁定流程詳解
- Android布局控件View?ViewRootImpl?WindowManagerService關(guān)系
- android?微信搶紅包工具AccessibilityService實(shí)現(xiàn)詳解
- Android?O對后臺Service限制詳解
- Android?NotificationListenerService通知監(jiān)聽服務(wù)使用
- Android?NotificationListenerService?通知服務(wù)原理解析
- Android開發(fā)InputManagerService創(chuàng)建與啟動流程
- Android 10 啟動之servicemanager源碼解析
相關(guān)文章
Retrofit實(shí)現(xiàn)圖文上傳至服務(wù)器
本文主要介紹了Retrofit實(shí)現(xiàn)圖文上傳至服務(wù)器的相關(guān)知識。具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-03-03Android編程實(shí)現(xiàn)獲取圖片資源的四種方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)獲取圖片資源的四種方法,分別針對圖片所在目錄位置分析了Android獲取圖片資源的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11VS Code開發(fā)React-Native及Flutter 開啟無線局域網(wǎng)安卓真機(jī)調(diào)試問題
這篇文章主要介紹了VS Code開發(fā)React-Native,F(xiàn)lutter 開啟無線局域網(wǎng)安卓真機(jī)調(diào)試,需要的朋友可以參考下2020-04-04Android Studio 3.1.X中導(dǎo)入項(xiàng)目的正確方法分享
這篇文章主要給大家介紹了關(guān)于Android Studio 3.1.X中導(dǎo)入項(xiàng)目的正確方法,文中一步步將解決的方法以及可能遇到的問題介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07Android編程設(shè)計(jì)模式之Builder模式實(shí)例詳解
這篇文章主要介紹了Android編程設(shè)計(jì)模式之Builder模式,結(jié)合實(shí)例形式詳細(xì)分析了Android設(shè)計(jì)模式之Builder模式概念、功能、使用場景、用法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-12-12詳解如何使用Android Studio開發(fā)Gradle插件
這篇文章主要介紹了詳解如何使用Android Studio開發(fā)Gradle插件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10Android靜默安裝實(shí)現(xiàn)方案 仿360手機(jī)助手秒裝和智能安裝功能
這篇文章主要介紹了Android靜默安裝實(shí)現(xiàn)方案,仿360手機(jī)助手秒裝和智能安裝功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Android開發(fā)之使用GridView展示圖片的方法
這篇文章主要介紹了Android開發(fā)之使用GridView展示圖片的方法,涉及Android使用GridView操作圖片的布局與圖片調(diào)用功能實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-01-01Android多點(diǎn)觸控實(shí)現(xiàn)對圖片放大縮小平移,慣性滑動等功能
這篇文章主要介紹了Android多點(diǎn)觸控實(shí)現(xiàn)對圖片放大縮小平移,慣性滑動等功能的相關(guān)資料,需要的朋友可以參考下2016-02-02Android圓形頭像拍照后“無法加載此圖片”的問題解決方法(適配Android7.0)
這篇文章主要介紹了Android圓形頭像拍照后“無法加載此圖片”的問題解決方法(適配Android7.0) ,需要的朋友可以參考下2017-10-10