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