Android四大组件之一——Broadcast Receiver
来源:互联网 发布:大众软件电子版 pdf 编辑:程序博客网 时间:2024/06/01 09:39
:###广播接收器:可以响应和监听系统事件,也可手动启动
①简单手动启动代码:
(1)MyReceiver:
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String msg = intent.getStringExtra("msg"); Toast.makeText(context, msg, 1111).show(); }}
(2)AndroidManifest.xml(注册广播接收器与注册Activity异曲同工)
<receiver android:name="broadcast_recevier1.MyReceiver" ></receiver>
(3)MainActivity:
public class MainActivity extends Activity { private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(); i.setClass(MainActivity.this, MyReceiver.class); i.putExtra("msg", "发送给广播接收器的信息"); sendBroadcast(i); //发送intent到广播接收器 } }); }}
②系统广播事件(自动):
(1)MyAutoReciver:
public class MyAutoRecevier extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "自动广播已运行", 1111).show(); Log.i("po", "自动广播已运行"); }}
(2)AndroidManifest.xml(注意与第一种广播的注册方式的不同,关于intent-filter的使用后面再做详细的介绍):
<receiver android:name="broadcast_recevier1.MyAutoRecevier" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter></receiver>
以上代码是系统启动时广播就可以执行,但是我在测试的时候结果不理想。
intent-filter:
Intent过滤器:以我的理解来看,手机发生的所有action(动作)都有对应的常量值,例如android.intent.action.BOOT_COMPLETED是系统启动完成的action常量值。当符合intent-filter中设置的action的常量值,则就执行相应的广播。
一些标准广播Action常量:
常量值 意义 android.intent.action.BOOT_COMPLETED 系统启动 android.intent.action.ACTION_TIME_CHANGED 时间改变 android.intent.action.ACTION_DATE_CHANGED 日期改变 android.intent.action.ACTION_TIMEZONE_CHANGED 时区改变 android.intent.action.ACTION_BATTERY_LOW 电量低 android.intent.action.ACTION_MEDIA_EJECT 插入或拔出外部媒体 android.intent.action.ACTION_MEDIA_BUTTON 按下多媒体键 android.intent.action.ACTION_PACKAGE_ADDED 添加包 android.intent.action.ACTION_PACKAGE_REMOVED 删除包
0 0
- Android四大组件之一——Broadcast Receiver
- 四大组件之一广播——Broadcast Receiver
- Android四大组件--Broadcast Receiver
- Android四大组件之Broadcast Receiver
- Android的四大组件之Broadcast Receiver
- Android四大组件之Broadcast Receiver
- Android四大组件--Broadcast Receiver详解
- Android 四大组件 之 Broadcast/Receiver 流程
- Android 四大组件之Broadcast receiver
- Android四大组件之Broadcast Receiver
- Android四大组件Broadcast Receiver详解
- Android四大组件Broadcast Receiver详解
- Android四大组件之Broadcast Receiver
- Android四大组件Broadcast Receiver详解
- Android四大组件Broadcast Receiver详解
- android 的四大组件之Broadcast Receiver
- [Android四大组件] Broadcast Receiver 广播
- Android四大组件之Broadcast Receiver
- 泛型继承的几种写法
- HDU 1335 (16进制以下)把m进制转换为n进制
- 19.Remove Nth Node From End of List
- 洛谷1028
- Scala-02:函数定义、流程控制、异常处理入门实战
- Android四大组件之一——Broadcast Receiver
- Eclipse下如何运行微信SDK_Demo
- RxJS入门(3)----深入Sequence
- 从一个Activity直接跳转到一个Fragment中,进行相应的操作
- 数组首地址与数组名取地址的区别
- 拦截/监听器 —— Filter、Interceptor、Listener
- LeeCode-Pow(x, n)
- 证书分享给别的电脑用
- 【opencv学习】之split函数提取多通道图像的单通道图像