android intent使用方法
16lz
2021-01-23
android中意图(intent)就是告诉系统要做某件事情。比如要拨打电话或者发送短信。
或者在一个Activity中点击按钮跳转到另外一个activity时也用到意图。
意图分为两种:显示意图和隐式意图
显示意图:
在构造意图时直接指定意图的class,则这种方式为显示意图。如:
Intent intent=new Intent(context,OtherActivity.class);
这种情况是在同一个应用中从一个意图调用另外一个意图时可以这么使用。
隐式意图:
此意图构造时不指定意图的class,而是制定一个名字和类别或者还有数据格式等,这些名字类别数据格式是在应用的功能清单中申明的。
<activity android:name=".OtherActivity" android:label="你好">
<intent-filter>
<action android:name="org.main.actions.Other"/>
<category android:name="org.main.categories.Other"/>
<category android:name="android.intent.category.DEFAULT"/> <!--不可少 -->
<data android:scheme="num" android:host=" www.xxx.cn" android:path="/files"/>
</intent-filter>
</activity>
如上面这个activity。我们在别的activity里要调用这个activity时,使用隐式的方法就这么调用:
Intent intent=new Intent();
intent.setAction("org.main.actions.Other");
intent.addCategory("org.main.categories.Other");
//另外由于我们声明了data在intent-filter中,所以还需要为intent 设置数据(data),且数据需要与data标签中指定的数据结构类型和主机名还有路径一致
intent.setData(Uri.parse("num://www.xxx.cn/files/992034.gif"));
startActivity(intent); //这个方法里面会默认调用 intent.addCategory("android.intent.category.DEFAULT");,所以在编写intent的filter的使用android.intent.category.DEFAULT这个category必须声明。
或者在一个Activity中点击按钮跳转到另外一个activity时也用到意图。
意图分为两种:显示意图和隐式意图
显示意图:
在构造意图时直接指定意图的class,则这种方式为显示意图。如:
Intent intent=new Intent(context,OtherActivity.class);
这种情况是在同一个应用中从一个意图调用另外一个意图时可以这么使用。
隐式意图:
此意图构造时不指定意图的class,而是制定一个名字和类别或者还有数据格式等,这些名字类别数据格式是在应用的功能清单中申明的。
<activity android:name=".OtherActivity" android:label="你好">
<intent-filter>
<action android:name="org.main.actions.Other"/>
<category android:name="org.main.categories.Other"/>
<category android:name="android.intent.category.DEFAULT"/> <!--不可少 -->
<data android:scheme="num" android:host=" www.xxx.cn" android:path="/files"/>
</intent-filter>
</activity>
如上面这个activity。我们在别的activity里要调用这个activity时,使用隐式的方法就这么调用:
Intent intent=new Intent();
intent.setAction("org.main.actions.Other");
intent.addCategory("org.main.categories.Other");
//另外由于我们声明了data在intent-filter中,所以还需要为intent 设置数据(data),且数据需要与data标签中指定的数据结构类型和主机名还有路径一致
intent.setData(Uri.parse("num://www.xxx.cn/files/992034.gif"));
startActivity(intent); //这个方法里面会默认调用 intent.addCategory("android.intent.category.DEFAULT");,所以在编写intent的filter的使用android.intent.category.DEFAULT这个category必须声明。
更多相关文章
- 我的android 第27天 - Intent意图
- 无废话Android之smartimageview使用、android多线程下载、显式意
- [android] 隐式意图的配置
- android中怎样声明操作通话记录的权利
- Android必备:Activity 活动 和 Intent 意图 的学习整理
- Android build.gradle 中 使用 buildConfigField 动态设置参数,de
- Android核心分析(20)----Android应用程序框架之无边界设计意图
- Android基本操作1(意图使用、界面转换、按键操作、文本传递)
- 【Android 设计】:启航_ 创作意图 | 设计原则