基础-3 ANDROID Intent
来源:互联网 发布:监控windows进程排名 编辑:程序博客网 时间:2024/05/22 13:13
一个android程序又多个组件组成,各个组件使用Intent进行通信,intent 对象包含组件名称,动作,数据,根据intent类容,android启动需要的组件。
Intent寻找目标组件的两种方式:
显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的。
Intent i = new Intent(MainActivity.this,AActivity.class); startActivity(i);
隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间。
Intent i = new Intent(); i.setAction("android.intent.action.DEMO_ACTIVITY"); startActivity(i);
Intent对象包含的内容
1.componentName(组件名称),指定Intent的目标组件的类名称。
Intent intent = new Intent(); // 构造的参数为当前Context和目标组件的类路径名 ComponentName cn = new ComponentName(MainActivity.this, "android.intent.action.DEMO_ACTIVITY"); intent.setComponent(cn); startActivity(intent);
2.action(动作),指定Intent的执行动作,比如调用拨打电话组件。
3.data(数据),起到表示数据和数据MIME类型的作用。不同的action是和不同的data类型配套的,通过设置data的Uri来获得。
Intent i = new Intent(); Uri uri = Uri.parse("tel:10086"); i.setAction(Intent.ACTION_CALL); i.setData(uri); startActivity(i);
4.category(类别),被执行动作的附加信息。例如应用的启动Activity在intent-filter中设置category。
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
5.extras(附加信息),为处理Intent组件提供附加的信息。可通过putXX()和getXX()方法存取信息;也可以通过创建Bundle对象,再通过putExtras()和getExtras()方法来存取。
6.flags(标记),指示Android如何启动目标Activity,设置方法为调用Intent的setFlags方法。常用的Flags参数有:
//如果activity在task存在,拿到最顶端,不会启动新的Activity
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
//如果activity在task存在,将Activity之上的所有Activity结束掉
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//默认的跳转类型,将Activity放到一个新的Task中
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//如果Activity已经运行到了Task,再次跳转不会在运行这个Activity
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
- 基础-3 ANDROID Intent
- Android基础-intent详解
- Android-Intent基础
- Android基础-1(intent)
- 【android基础】Intent
- [Android基础]Intent
- Intent android基础二
- Android基础-----Activity,Intent
- Android基础之Intent
- Android基础-Intent用法
- 【Android基础】趣谈Intent
- Android基础----Intent
- Android基础-Intent flag
- Android-基础-intent
- android基础(Intent)
- Android基础之Intent和Intent Filter
- Android基础之Intent 和 Intent 过滤器
- Android基础学习之Intent
- HTTP协议分析系列(十)------HTTP协议+分块传输+持久链接+反向ajax+服务器推技术
- VM下配置NAT+固定IP实现虚拟机的网络配置(centos+oneinstack+composer+laravel)第一步
- java编程思想--重点
- 利用链表打印多项式以及其‘+’运算
- 人无完人,金无足赤,男人需要强大起来
- 基础-3 ANDROID Intent
- cmd,wifi
- Communications link failure due to underlying exception:
- JS实现多图片上传,无插件,动态生成标签
- Tomcat启动闪退问题
- 插入排序
- [测试日常]常用包管理工具汇总
- Struts2常用标签总结
- MySQL 之.zip压缩包安装