四大组件之broadcastReceiver
来源:互联网 发布:苹果远程桌面连接软件 编辑:程序博客网 时间:2024/06/16 21:50
1:不同版本广播的特点
[1]在4.0要求 第一次安装应用的时候必须有界面 这样广播接收者才能生效
[2]在设置页面上有一个强行停止的按钮 如果用户点击了 强行停止按钮后广播接收者也不生效
[3]2.3的手机上没有这样的安全设计
2:不能直接在广播接收者中开启activity
[1]定义广播接收者
[2]在清单文件里面注册BOOT_COMPLETED
<action android:name="android.intent.action.BOOT_COMPLETED"
[3]记得加上权限
3:getbroadcast()代表无序广播,接收数据可以用intent.getstringextra()... getOrderBroadcast()代表有序广播 接收数据可以用getResultData()
4:发送有序广播
sendOrderedBroadcast(Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, StringinitialData, Bundle initialExtras)
intent 意图 receiverPermisson 接收的权限? resultReceiver最终的recevier scheduler是handlerinitialCode初始码 initiaData初始化数据
5:特殊广播接收者
操作特别频繁的广播事件比如锁屏,这种广播在清单文件里面注册无效
[1]动态注册 通过代码方式
[2]在清单文件通过recevier tag节点静态发布
lr = new LockedReceiver();IntentFilter inte = new IntentFilter();inte.addAction("android.intent.action.SCREEN_ON");inte.addAction("android.intent.action.SCREEN_OFF");registerReceiver(lr, inte);
6:样式和主题
样式作用在控件上
主题作用在activity上
7:国际化
在res下创建不同国家语言环境集目录 目录是固定写法values_en...不同国家的标志可在ie上查看
8:两种上下文的区别
[1]this 最终继承context 子类 小的activity
[2]getap......()返回context对象 父类 大的activity 用他会出现找不到activity的情况
[3]对话框只能用this
9:多选对话框代码
public void click_2(View v) {AlertDialog.Builder bd = new Builder(this);bd.setTitle("worning");final String[] items = { "a", "b", "c" };final boolean[] checkedItems = { true, false, false };bd.setMultiChoiceItems(items, checkedItems,new OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which,boolean isChecked) {// TODO Auto-generated method stub}});bd.setPositiveButton("ok", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubStringBuffer sb = new StringBuffer();for (int i = 0; i < checkedItems.length; i++) {if (checkedItems[i]) {sb.append(items[i]);}}Toast.makeText(getApplicationContext(), sb.toString(), 0).show();dialog.dismiss();}});bd.show();}
10:动画ImageView iv = (ImageView) findViewById(R.id.iv);iv.setBackgroundResource(R.drawable.my_anim);AnimationDrawable ani = (AnimationDrawable) iv.getBackground();ani.start();
11:开机启动广播
在清单文件中这样配制
<receiver android:name="com.example.demo0801_phonemonitor.FirstReceiver"> <intent-filter > <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver>
阅读全文
0 0
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之:BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- 四大组件之BroadcastReceiver
- mysql 五大常见高可用方案
- ngx_process_events_and_timers
- 【51单片机】INT0及INT1中断计数
- Container With Most Water--LeetCode
- Opencv 2.4.9在Ubuntu下的配置安装
- 四大组件之broadcastReceiver
- clang忽略警告
- MySQL中select * for update锁表的问题 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例
- spring boot启动报错:No active profile set, falling back to default profiles: default
- c 取整方法
- 一种手感很好的18650电池
- 解析《c++primer》中的Sales_item.h文件
- Spring AOP详解
- 关于接下来的学习计划(11月-次年1月)