码迷,mamicode.com
首页 > 其他好文 > 详细

BroadcastReceiver

时间:2015-03-13 00:08:26      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

1.BroadcastReceiver(抽象类)

   它是没有界面,它可以监听系统中的事件并作出相应,比如系统已经启动,电量变低了,SD卡插拔等事件。

   生命周期:当它的onReceive()方法执行完后就被销毁,所以不适合在该方法里进行异步操作,

                 比如显示Dialog,绑定Service都是属于异步操作范围。

   建议:它可以在清单文件中注册,也可以在Activity中注册,但最好在Activity中注册并销毁,

           因为在Activity启动时注册,Activity销毁前注销,这样会减轻系统负担。

  可以通过它实现系统启动时,自动运行某应用程序

   1.注册并监听系统启动这个事件,还有访问权限

<receiver 
            android:name=".BootReceiver"
            >
            <intent-filter >
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                
            </intent-filter>
        </receiver>
        <uses-permission   android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

 

    2.实现BroadcastReceiver的BootReceiver类,处理监听的事件

public class BootReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context arg0, Intent arg1) {
        // 处理监听事件,启动某应用程序(IntentDemoActivity)
        if(arg1.getAction().equals(Intent.ACTION_BOOT_COMPLETED))
        {
        Intent intent =new Intent(arg0,IntentDemoActivity.class);
         //这是在Activity之外启动另一个Activity所以要添加flag
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        arg0.startActivity(intent);
        
        }
    }
}

 

BroadcastReceiver

标签:

原文地址:http://www.cnblogs.com/beyondbycyx/p/4334054.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!