接收系统广播消息之监听系统开机

除了接受用户发送的广播之外,BroadcastReceiver还有一个重要的用途:接收系统广播。如果应用需要在系统特定时刻执行某些操作,就可以通过监听系统广播来实现。Android的大量系统事件都会对外发送标准广播。下面是Android常见的广播Action常量(具体请参考API文档中关于Intent的说明)。

接收系统广播消息之监听系统开机_第1张图片

下面这个小程序可以监听系统开机,并自动启动某个Service,例如监听用户来电、监听用户短信、拦截黑名单电话等。具体Service应用本程序中未给出。

监听开机的BroadcastReceiver:

package com.lovo.receiver;

import com.lovo.service.LaunchService;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class LaunchReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		Toast.makeText(context, "开机啦!!!", Toast.LENGTH_LONG).show();
		Intent serviceIntent = new Intent(context, LaunchService.class);
		// 启动指定的Service
		context.startService(serviceIntent);
	}

}

配置该BroadcastReceiver:

 
           
               
            
        


这样系统开机后,该LaunchReceiver就可以接受到广播了,并同时启动Service,Service的具体实现在此省略。

另外,监听系统开机需要如下权限:


你可能感兴趣的:(接收系统广播消息之监听系统开机)