Android 開機自啟動Service實現(xiàn)詳解
1、修改AndroidManifest.xml文件
// 添加接收開機廣播的權限
<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、去掉該服務APP的桌面圖標
正常APP安裝后,在Launcher中會顯示圖標,由于我們的應用是個后臺服務,所以不需要顯示圖標,不顯示桌面圖標有兩種方式
第一種
去掉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,再手動安裝到設備中。
第二種
在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)為了加強安全性控制,應用程序安裝后或是(設置)應用管理中被強制關閉后處于stopped狀態(tài),在這種狀態(tài)下接收不到任何廣播。對于android3.1以后版本,如果要應用接收開機廣播有兩種方法:
a).將應用預置到/system/app/目錄。
b).安裝應用后先啟動一次。(應用只要啟動過一次,就不處于stopped狀態(tài))
以上就是Android 開機自啟動Service實現(xiàn)詳解的詳細內(nèi)容,更多關于Android 開機自啟動Service的資料請關注腳本之家其它相關文章!
- Android?Service啟動綁定流程詳解
- Android布局控件View?ViewRootImpl?WindowManagerService關系
- android?微信搶紅包工具AccessibilityService實現(xiàn)詳解
- Android?O對后臺Service限制詳解
- Android?NotificationListenerService通知監(jiān)聽服務使用
- Android?NotificationListenerService?通知服務原理解析
- Android開發(fā)InputManagerService創(chuàng)建與啟動流程
- Android 10 啟動之servicemanager源碼解析
相關文章
Android中src和background的區(qū)別詳解
這篇文章主要介紹了Android中src和background的區(qū)別詳解的相關資料,需要的朋友可以參考下2016-09-09
Android實現(xiàn)狀態(tài)欄白底黑字效果示例代碼
這篇文章主要介紹了Android實現(xiàn)狀態(tài)欄白底黑字效果的相關資料,實現(xiàn)后的效果非常適合日常開發(fā)中使用,文中給出了詳細的示例代碼供大家參考學習,需要的朋友們下面隨著小編來一起學習學習吧。2017-10-10
Kotlin 匿名類實現(xiàn)接口和抽象類的區(qū)別詳解
這篇文章主要介紹了Kotlin 匿名類實現(xiàn)接口和抽象類的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Android實現(xiàn)右邊抽屜Drawerlayout效果
這篇文章主要為大家詳細介紹了Android實現(xiàn)右邊抽屜Drawerlayout效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11
Android學習筆記之ActionBar Item用法分析
這篇文章主要介紹了Android學習筆記之ActionBar Item用法,結合實例形式分析了ActionBar Item的具體功能與相關使用技巧,需要的朋友可以參考下2017-05-05

