Android - Intent、PendingIntent、IntentFilter、BroadcastReceiver
来源:互联网 发布:java fork join 区别 编辑:程序博客网 时间:2024/05/21 07:25
Intent 构造方式:
1. Intent(String action) 2. Intent(String action,Uri uri) 3. Intent(Context context,Class anyclass)
通过Intent可以启动Activity、Service,或者发送广播:
startActivity(Intent intent),startService(Intent intent),sendBroadcast(Intent intent)
例如直接打电话的方法如下:
Intent intent = new Intent("android.intent.action.CALL", Uri.parse("tel:" + "10086"));
startActivity(intent); //需要加上"android.permission.CALL_PHONE"权限
另外,使用intent还可以传递参数:
Activity1: Activity2:
Intent intent = new Intent(Activity1.this,Activity2.this); Bundle bundle = getIntent().getExtras();
intent.putExtra("NAME","taiwan1934"); String name = bundle.getString("NAME");
intent.putExtra("NUM",1934); Long num = bundle.getLong("NUM");
Bundle bundle = new Bundle();
bundle.putString("ADDR","shanghai"); String addr = bundle.getString("ADDR");
intent.putExtras(bundle);
startActivity(intent);
在Activity1里使用putExtra(String key, ``` value)以及putExtras(bundle),最终都会放在一个bundle里
IntentFilter与BroadcastReceiver
IntentFilter(String action),IntentFilter可以通过addAction(String action)不断添加任何想接收的Broadcast
Broadcast的接收处理:
可以自己发送广播,系统也会发送各种广播,如开机广播:“android.intent.action.BOOT_COMPLETED”
PendingIntent创建方式:
1. static PendingIntent getActivity(Context context,int requestCode,Intent intent,int flags)
2. static PendingIntent getService(Context context,int requestCode,Intent intent,int flags)
3. static PendingIntent getBroadcast(Context context,int requestCode,Intent intent,int flags)
可以将PendingIntent和AlarmManager结合,在指定时间启动Activity、Service,发送Broadcast
以下是AlarmManager的两个常用方法:
void set(int type,long trigerAtMills,PendingIntent operation)
void cancel(PendingIntent)
例如在2分钟后发送一个自定义的广播:
- Android - Intent、PendingIntent、IntentFilter、BroadcastReceiver
- android之Intent、IntentFilter、IntentService、PendingIntent
- Android Intent\IntentFilter 详解
- Android Intent IntentFilter
- Android - Intent与IntentFilter
- Android Intent 和 Intentfilter
- android intent 与 IntentFilter
- 【Android】pendingIntent和Intent
- android:android Intent and IntentFilter
- Android 之 Intent 和 IntentFilter
- android基础知识:intent和intentfilter
- android Intent和intentFilter详解
- Android 读书笔记---Intent 和 IntentFilter
- Android Intent和IntentFilter详解
- android 随笔小记 Intent IntentFilter
- android--Intent和IntentFilter详解
- Android之Intent&BroadcastReceiver
- android Intent PendingIntent的区别
- asterisk 互联问题
- Qt 中信号和槽的 C++(public protect private) 的属性
- Python中对元组的操作
- android页面跳转
- JSP 基本语法学习笔记
- Android - Intent、PendingIntent、IntentFilter、BroadcastReceiver
- 编译问题
- 爆冷意大利0-1哥斯达黎加 英格兰提前出局
- HDU 4366 Successor
- 中缀表达式转换成前缀表达式和后缀表达式
- ssh安装 和 scp命令 使用
- 新媒体爆发时代:顶级时尚博主年入百万美元
- 截获消息
- 课程设计