Android 监听开机广播和关机广播

一、监听开机广播

Android系统启动完成后会发出启动完成广播(android.intent.action.BOOT_COMPLETED),所有注册了接收启动完成广播的接收器(BroadcastReceiver)都会收到此广播。

1、在AndroidManifest.xml文件里添加授予应用程序访问系统开机事件的权限

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

2、编写系统发出的开机启动完成广播的接收器。自定类继承BroadcastReceiver类,代码如下:

public class BootBroadcastReceiver extends BroadcastReceiver {  
  
    private static final String TAG = "BootBroadcastReceiver";   
    private static final String ACTION_BOOT = "android.intent.action.BOOT_COMPLETED";    
    @Override  
    public void onReceive(Context context, Intent intent) {    
        if (intent.getAction().equals(ACTION_BOOT)) { //开机启动完成后,要做的事情 
            Log.i(TAG, "BootBroadcastReceiver onReceive(), Do thing!");  
        }  
    }  
} 

3、在AndroidManifest.xml文件里注册广播接收器

<receiver android:name="com.luxcine.luxcine_settings.BootBroadcastReceiver" >
            <intent-filter >
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <category android:name="android.intent.category.HOME" />
            </intent-filter>
        </receiver>

二、监听关机广播
Android系统提供了与开机广播对应的关机广播,在系统即将关闭时发出此广播。

1、编写在系统即将关闭时发出的广播的接收器。自定类继承BroadcastReceiver类,代码如下:

public class ShutdownBroadcastReceiver extends BroadcastReceiver {  
    private static final String TAG = "ShutdownBroadcastReceiver";       
    private static final String ACTION_SHUTDOWN = "android.intent.action.ACTION_SHUTDOWN";  
      
    @Override  
    public void onReceive(Context context, Intent intent) {  //即将关机时,要做的事情          
        if (intent.getAction().equals(ACTION_SHUTDOWN)) {  
            Log.i(TAG, "ShutdownBroadcastReceiver onReceive(), Do thing!");  
        }  
    }  
} 

2、在AndroidManifest.xml文件里注册广播接收器

<receiver android:name="com.luxcine.luxcine_settings.ShutdownBroadcastReceiver" >
            <intent-filter >
                <action android:name="android.intent.action.ACTION_SHUTDOWN" />
                <category android:name="android.intent.category.HOME" />
            </intent-filter>
        </receiver>
发布了184 篇原创文章 · 获赞 70 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/qq_31939617/article/details/103251074