android 监听手机开机
今天,簡單講講
android 監聽手機開機。
需求描述:有些時候,我們需要我們的程序在開機后能自動運行,在系統即將關閉時,能寫入一些記錄到指定的文件里。
一、開機廣播監聽:
??????? Android系統啟動完成后會發出啟動完成廣播(android.intent.action.BOOT_COMPLETED),所有注冊了接收啟動完成廣播的接收器(BroadcastReceiver)都會收到此廣播。
?????? 1、在AndroidManifest.xml文件里添加授予應用程序訪問系統開機事件的權限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
? 2、編寫系統發出的開機啟動完成廣播的接收器。自定類繼承BroadcastReceiver類,代碼如下:
package com.android.test;import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log;/*** 類名:BootBroadcastReceiver * 功能描述:啟動時系統發出的廣播的接收器* #<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />* @author android_ls*/ public class BootBroadcastReceiver extends BroadcastReceiver {private static final String TAG = "BootBroadcastReceiver";private static final String ACTION_BOOT = "android.intent.action.BOOT_COMPLETED";@Overridepublic void onReceive(Context context, Intent intent) {Log.i(TAG, "Boot this system , BootBroadcastReceiver onReceive()");if (intent.getAction().equals(ACTION_BOOT)) {Log.i(TAG, "BootBroadcastReceiver onReceive(), Do thing!");}} }
?3、在AndroidManifest.xml文件里注冊廣播接收器
<receiver android:name="com.android.test.BootBroadcastReceiver" ><intent-filter ><action android:name="android.intent.action.BOOT_COMPLETED" /><category android:name="android.intent.category.HOME" /></intent-filter></receiver>
二、關機廣播監聽:
?????? Android系統提供了與開機廣播對應的關機廣播,在系統即將關閉時發出此廣播。
?????? 1、編寫在系統即將關閉時發出的廣播的接收器。自定類繼承BroadcastReceiver類,代碼如下:
package com.android.test;import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log;/*** 類名:ShutdownBroadcastReceiver* 功能描述:在系統即將關閉時發出的廣播的接收器* @author android_ls*/ public class ShutdownBroadcastReceiver extends BroadcastReceiver {private static final String TAG = "ShutdownBroadcastReceiver";private static final String ACTION_SHUTDOWN = "android.intent.action.ACTION_SHUTDOWN";@Overridepublic void onReceive(Context context, Intent intent) {Log.i(TAG, "Shut down this system, ShutdownBroadcastReceiver onReceive()");if (intent.getAction().equals(ACTION_SHUTDOWN)) {Log.i(TAG, "ShutdownBroadcastReceiver onReceive(), Do thing!");}} }
?????2、在AndroidManifest.xml文件里注冊廣播接收器
<receiver android:name="com.android.test.ShutdownBroadcastReceiver" ><intent-filter ><action android:name="android.intent.action.ACTION_SHUTDOWN" /><category android:name="android.intent.category.HOME" /></intent-filter></receiver>
這里需要注意一點,這個注冊的開機廣播必須app安裝后啟動一次,才可以監聽到。而且對于android 4.0以下的才可以正常監聽。對于android 4.0以上的,則必須在手機里授權app開機自啟動的權限,才可以監聽到開機廣播。
android 監聽手機開機就講完了。
就這么簡單。
總結
以上是生活随笔為你收集整理的android 监听手机开机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 监听屏幕是否锁屏
- 下一篇: android 监听手机电量变化