自定义隐式意图

1、清单文件

1 <activity
2     android:name="com.example.twoactivity.OtherScreenActivity"
3     android:label="@string/app_name" >
4     <intent-filter>
5     <action android:name="com.itheima.com" />  //设置action名称
6     <category android:name="android.intent.category.DEFAULT" />//设置附加信息,提供一些执行的环境参数。对此我有点疑问?名称不对应
7     </intent-filter>
8 </activity>

2、开启该activity的代码

1 Intent intent = new Intent();
2 intent.setAction("com.itheima.com");
3 intent.addCategory("android.intent.category.DEFAULT");
4 startActivity(intent);

3、获取到激活它的意图

1 Intent intent = getIntent();//获取到激活它的意图
2 Uri uri = intent.getData();//获取到传递过来的数据
3 String result = uri.toString();
4 System.out.println(result);

注意:如果在清单文件中配置有 <data android:scheme="itheima" ></data>,则在激活意图时必须有intent.setData(Uri.parse("itheima:xxx"));这样的设置,否则报错。
如果清单文件配置成<data android:scheme="itheima" android:mimeType="vns.android.cursor.item/haha"></data>这样,则激活意图时必须有intent.setDataAndType(Uri.parse("itheima:gogogo"), "vns.android.cursor.item/haha");否则报错。
scheme是说明数据的规范的意思,而mimeType是说明数据的类型

时间: 2024-10-11 20:44:32

自定义隐式意图的相关文章

无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)

1.smartimageview使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

android隐式意图激活自定义界面

我们也可以使用隐士意图激活自定义的界面,并且可以携带数据: 效果: 点击第二个按钮后: 附代码: 主窗体的代码: 1 package com.yy.twoactivity; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.net.Uri; 6 import android.os.Bundle; 7 import android.view.View; 8 9 public clas

基础学习总结(八)--Intent中显示意图和隐式意图的用法

Intent(意图)主要是解决Android应用的各项组件之间的通讯.Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用.因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦.例如,在一个联系人维护的应用中,当我们在一个联系人列表屏幕(假设对应的Activity为listActivity)上,点击某个联系人

隐式意图调用系统自带组件的各种Uri总结

调用系统应用解析(必需要加各自使用的权限) android intent 隐式意图和显示意图(activity跳转) 显示意图要求必须知道被激活组件的包和class 隐式意图仅仅须要知道跳转activity的动作和数据,就能够激活相应的组件 A 主activity  B 接收跳转的activity 步骤 1:在主配置文件里声明B 至少要声明一个android:name属性 [html] <activity android:name=".DemoActivity" android:

隐式意图 Intent

/显式意图 :必须指定要激活的组件的完整包名和类名 (应用程序之间耦合在一起) // 一般激活自己应用的组件的时候 采用显示意图 //隐式意图: 只需要指定要动作和数据就可以 ( 好处应用程序之间没有耦合) //激活别人写的应用 隐式意图, 不需要关心对方的包名和类名 1.Manifest <activity android:name="com.itheima.intent2.SecondActivity" > <intent-filter> <actio

[android] 隐式意图激活另外一个activity

随着api的升级,系统的很多应用包名和类名都改掉了,所以很多时候,打开系统应用的时候会报错,隐式意图就是解决组件之间松耦合,描述动作行为 获取Intent对象,通过new出来 调用Intent对象的setAction(action)方法,设置动作,参数:String类型的常量例如:Intent.ACTION_VIEW 调用Intent对象的setData(data)方法,设置数据,参数:Uri对象, 例如:网址Uri.parse(“http:xxx”); 调用startActivity(inte

android隐式意图激活浏览器

在有些时候,我们可能想打开某个不确定的应用,比如,我们想要通过浏览器打开百度的站点,但是我们并不强调必须要使用哪一个浏览器,那么这种情况我们使用显示意图可能不太好,更好的做法是使用隐式意图打开网站. 效果: 点击按钮后: 附代码: 1 package com.yy.activity; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.net.Uri; 6 import androi

自定义隐式转换和显式转换c#简单例子

自定义隐式转换和显式转换c#简单例子 (出自朱朱家园http://blog.csdn.net/zhgl7688) 例子:对用户user中,用户名first name和last name进行转换成合成一个限定长度为10个字符新name. 自定义隐式转换: namespace transduction { public partial class transductionForm : Form { public transductionForm() { InitializeComponent();

隐式意图Intent

在我们想往下一个页面传递数据时,要想到显式意图和隐式意图,显示意图用于内部活动跳转时比较方便,而隐式意图用于应用程序中外部活动的跳转时较为方便,在使用隐式意图时我们要想到清单文件 代码如下: <intent-filter> <action android:name="xx,xx,xx,xx"/> <category android:name="android.intent.category.DEFAULT"/> </inte