Android開發:APP自啟動的實現

<p> Android的自啟動類似于Windows的開機啟動,允許開發者讓自己的APP在開機的時候做一些操作,如啟動一個后臺的Service、發送一條通知甚至是啟動一個Activity界面等。</p>

1、寫一個廣播類

<p>新建一個廣播類:</p>

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //標準的寫法是需要判別Action的類型的
        if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
            //你想執行的操作
        }
    }
}

2、添加Manifest配置

配置廣播監聽器 (如果不是AndroidStudio的話,你可能需要把name改成BootReceiver的完整路徑):

<receiver
  android:name=".BootReceiver" 
  android:enabled="true">
    <intent-filter>
      <action 
        android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
</receiver>

添加權限:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

經過以上配置,你的APP已經可以在開機時執行你的自定義操作了,但是在一些國產系統上,會有自帶的安全管理軟件對開機啟動進行管理,如果安全管理軟件內屏蔽了APP的自啟動,那么你的APP仍然無法自動啟動。另外,在開機時發送通知和啟動Activity是一件非常影響用戶體驗的是事,需要謹慎考慮。

3、其他相關系統廣播

有開機廣播,自然也有關機廣播和重啟廣播

  • 關機廣播(沒有權限)
<action android:name="android.intent.action.ACTION_SHUTDOWN"/>
  • ** 重啟廣播**
    重啟時也會先發送ACTION_SHUTDOWN廣播
<action android:name="android.intent.action.REBOOT"/>

重啟完成權限(需要監聽重啟完成的權限)

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容