第七天 Android学习总结(广播接收者)
2017-01-18 10:10
344 查看
一.广播接受者BroadcasReceiver的使用
Android系统内部相当于一个电台,里面定义了很多的广播事件(频道),如外拨电话,短信到来,sd卡状态,电池电量变化等.
系统自带广播:
我们要接收到广播信息,需要:
1.创建一个继承BroadcastReceiver的广播类(专门用来接收广播的组件),
2.配置AndroidManifest.xml文件,主要是action★★
3.权限问题,
如监听拨打电话,需要设置权限android.permission.PROCESSOUTGOINGCALLS 允许监听拨打电话,修改电话的权限....这个没加很难找,信息得在全部信息那里找
大多数广播注册不需要data属性(scheme约束).sdcard(file)和包(package)的安装需要
当action被触发时,程序会执行广播类中的onReceiver方法,进行处理
自定义广播:
首先要有发送源头,
Intent intent = new Intent();
intent.setAction("pers.wzs.broadcast.xxxx");
intent.putExtras("info","叮叮叮当扣扣响起会是谁呢");
sendBroadcast(intent);无序广播
sendOrderedBroadcast(intent, null,null, null, 1, "初始数据", "额外数据"); 有序广播
初始数据在onreceiver方法中使用getResultData();获取.
额外数据也就是putextras数据使用intent.getStringExtras("key");获取
第三个参数设置一个广播接受者,作为最后一个广播,不需要配置
接收广播
跟接收系统广播差不多,建一个类继承广播类,注册,设置action.
如果是有序广播的话,在intent-filter中添加一个属性 android:priority="100",优先级,越大越优先接收广播 可以使用abortbroadcast();终止广播
频率高的广播事件,在清单文件注册是无效的,如锁屏开屏, 应该使用动态注册.
在activity中动态注册广播时,需要在activity的ondestroy中取消注册
实例化出广播接收者对象(继承广播的那个类)
IntentFilter filter = new IntentFilter();
filter.addAction("actionxxxxx");
this.registerReceiver(xxxReceiver对象,filter);//注册广播
在service中动态注册广播......待补充
注意事项:广播中不能直接开启activity,需要为intent对象设置一个flag,如intent.setFlag(I(Intent.flag_new_task);,才能启动activity.(相当于为activity提供一个任务栈)
二.样式和主题
style and theme
一般styles.xml文件中添加,例子如下:
<style name="button_style">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">25sp</item>
</style>
引用时:
style="@style/button_style"
三.Android国际化 i18N
values-en 英文
values-zh 中文
values 默认,其他找不到就找这个 一般只需要把string.xml在其他values-xx也各自配置一份不同语言的即可
四.对话框dialog
1.普通对话框
2.单选对话框
3.多选对话框
4.进度条对话框
两种上下文
this and MainActivity.this 内部类需要用第二种
getApplication(); 对话框new Bulider(context)时不能传这个..
五.Android动画
1.属性动画property animation
2.补间动画view(tweened) animation
3.帧动画drawable(frame) animation
Android系统内部相当于一个电台,里面定义了很多的广播事件(频道),如外拨电话,短信到来,sd卡状态,电池电量变化等.
系统自带广播:
我们要接收到广播信息,需要:
1.创建一个继承BroadcastReceiver的广播类(专门用来接收广播的组件),
2.配置AndroidManifest.xml文件,主要是action★★
3.权限问题,
如监听拨打电话,需要设置权限android.permission.PROCESSOUTGOINGCALLS 允许监听拨打电话,修改电话的权限....这个没加很难找,信息得在全部信息那里找
大多数广播注册不需要data属性(scheme约束).sdcard(file)和包(package)的安装需要
当action被触发时,程序会执行广播类中的onReceiver方法,进行处理
自定义广播:
首先要有发送源头,
Intent intent = new Intent();
intent.setAction("pers.wzs.broadcast.xxxx");
intent.putExtras("info","叮叮叮当扣扣响起会是谁呢");
sendBroadcast(intent);无序广播
sendOrderedBroadcast(intent, null,null, null, 1, "初始数据", "额外数据"); 有序广播
初始数据在onreceiver方法中使用getResultData();获取.
额外数据也就是putextras数据使用intent.getStringExtras("key");获取
第三个参数设置一个广播接受者,作为最后一个广播,不需要配置
接收广播
跟接收系统广播差不多,建一个类继承广播类,注册,设置action.
如果是有序广播的话,在intent-filter中添加一个属性 android:priority="100",优先级,越大越优先接收广播 可以使用abortbroadcast();终止广播
频率高的广播事件,在清单文件注册是无效的,如锁屏开屏, 应该使用动态注册.
在activity中动态注册广播时,需要在activity的ondestroy中取消注册
实例化出广播接收者对象(继承广播的那个类)
IntentFilter filter = new IntentFilter();
filter.addAction("actionxxxxx");
this.registerReceiver(xxxReceiver对象,filter);//注册广播
在service中动态注册广播......待补充
注意事项:广播中不能直接开启activity,需要为intent对象设置一个flag,如intent.setFlag(I(Intent.flag_new_task);,才能启动activity.(相当于为activity提供一个任务栈)
二.样式和主题
style and theme
一般styles.xml文件中添加,例子如下:
<style name="button_style">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">25sp</item>
</style>
引用时:
style="@style/button_style"
三.Android国际化 i18N
values-en 英文
values-zh 中文
values 默认,其他找不到就找这个 一般只需要把string.xml在其他values-xx也各自配置一份不同语言的即可
四.对话框dialog
1.普通对话框
2.单选对话框
3.多选对话框
4.进度条对话框
两种上下文
this and MainActivity.this 内部类需要用第二种
getApplication(); 对话框new Bulider(context)时不能传这个..
五.Android动画
1.属性动画property animation
2.补间动画view(tweened) animation
3.帧动画drawable(frame) animation
相关文章推荐
- Android基础学习__第6天__广播接收者与Service
- Android(java)学习笔记177:BroadcastReceiver之 应用程序安装和卸载 的广播接收者
- Android学习总结(五)———— BroadcastReceiver(广播接收器)的基本概念和两种注册广播方式
- Android广播接收者使用总结
- android学习日记19--四大组件之BroadcastReciver(广播接收者)
- Android广播接收者使用总结
- Android学习总结(八)———— 广播的最佳实践(实现强制下线功能)
- Android学习总结——强制下线功能(广播)
- android 学习笔记8-广播接收者 有序 无序广播 案例
- Android知识总结学习--广播
- Android(java)学习笔记175:BroadcastReceiver之 外拨电话的广播接收者
- [学习笔记]Android广播发送者&广播接收者介绍
- Android(java)学习笔记94:关于广播接收者的注册和使用心得
- Android开发学习总结(1.22-广播机制(2)Broadcast)
- Android(java)学习笔记176:BroadcastReceiver之 短信发送的广播接收者
- Androidx学习笔记(67)--- 使用代码注册广播接收者(实现屏幕锁屏和解锁)
- Android 广播学习总结
- Android总结篇系列:Android广播机制 1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接
- 【android学习】四大组件-BroadcastReceiver(广播接收者)
- 学习Android中广播的总结