intent 详解
来源:互联网 发布:原油手机行情分析软件 编辑:程序博客网 时间:2024/06/04 00:22
andorid 提供的 intent 机制可以进行应用程序之间的交互与通讯,同时也是四大组件之间通讯与数据传递的桥梁。
它可以在程序运行时,连接两个不同的组件。
intent的基本属性:
~action(动作):intent(意图)的行为,一般的动作有intent.action_view打开浏览器,,
intent.action_pick选择联系人,照片等,,,intent,action_send调用系统的分享。
~category(类型):action与category一般一起使用,在自定义action时:
intent i= new intent();
i.setaction("com.android.myaction");需要在AndroidManifest.xml中配置<action android:name="com.android.myaction"> 如果没有特别自定义catogory,需要配置默认的category
<category android:name="android.intent.category.default">因为intent在过滤筛选的时候会默认添加到intent中
然后跳转到指定的组件中,如果有多个组件匹配成功,就会以对话框的形式进行选择,其中可以设置优先级进行排序
android:priority 优先级的范围是-1000到1000。
intent通过addcategory添加多个category,越多intent筛选精度越高,这里是并的关系。
~component(组件):目的组件,intent通过设置component进行显示意图的跳转,
如: ComponentName name = new ComponentName(Context,MainActivity.class);调转当前应用的activity ComponentName name = new ComponentName("pagename","class");可以进行跨程序其他activity,同时要在清单文件的activity中配置android:exported="true"允许外部程序访问,intent.setComponent(name);~data(数据):data是一个以Uri对象表示的,我们一般以action+data来描述一个意图目的,如intent.setaction(Intent.action.view),intent.setdata(Uri.parse("http://www.baidu.com"));也可以在intent-filter中配置data
节点 <data android:scheme="http" > scheme://host:port/pathscheme:协议一般的协议有file:/// content:///,http:///
host:域名,port端口号,path就是servlet后面的路径名加参数
~type(数据类型):是对data范例的描写,type属性用于明确指定data的数据类型和mime类型,一般type和打他只需要设置一个,在settype的时候会设置data为null,setdata是把type设置为null,只有通过setdataandtype进行data与type同时使用如:intent.setdataandtype(Uri.parse("file:///storage/sdcard0/告别气球.mp3"),"audio/mp3");
进行音乐的播放
~flag(标志位):意图的运行模式,如通过intent.setflag(intent.flag_activity_new_task);以singletask的形式启动activity,singletask是activity的四个启动方式之一,如果栈中存在这个activity直接启动,如果不存在就创建这个activity,同时,如果这个activity不在栈顶,回把activity之上的所有activity全部清除。
~extras(扩展):扩展信息(用的不多)
intent如何启动组件:
通过startactivity与startactivityforresult进行activity的启动
sendorderBroadcast(有序广播,通过abort中止传播),sendbroadcase,sendstickyBroadcast粘性广播
- Intent详解
- intent详解
- intent详解
- Intent详解
- Intent 详解
- intent详解
- Intent 详解
- Intent详解
- intent详解
- Intent 详解
- intent 详解
- intent 详解
- Intent 详解
- Intent详解
- Intent详解
- Intent 详解
- intent详解
- Intent 详解
- (Java)LeetCode-69. Sqrt(x)
- Activity的四种启动模式
- The Initialization of CM In DOCSIS3.0
- Android:控件Spinner实现下拉列表
- ios-导航控制器
- intent 详解
- Git push命令行常用笔记
- C#实现HTTP提交
- 同步synchronized
- PIC32单片机harmony开发环境搭建并新建harmony工程
- Cordova for iOS 实现原理
- 虚函数 纯虚函数 抽象类
- Android 初级知识查询(一步一步学Android)
- bzoj 1632: [Usaco2007 Feb]Lilypad Pond bfs