首页 理论教育 隐式Intent的详细解析

隐式Intent的详细解析

时间:2023-06-17 理论教育 版权反馈
【摘要】:包含自定义动作的隐式Intent,开发人员按业务需求自定义的Action。在第一个Activity的按钮点击事件中添加以下代码:最后在第二个Activity的Intent中添加以下代码:运行效果,见图4.5。图4.52.自定义动作的隐式Intent示例代码示例:使用自定义的Action与Category来激活另一个Activity。图4.6下面测试有多个应用响应同一个隐式Intent。

隐式Intent的详细解析

通过比较Intent对象内容与Intent-filter过滤器来实现,主要匹配的是动作、数据(URI和MIME)、种类,而Extras和flags在决定哪个组件时并不起任何作用。

<intent-filter>

<action android: name="com.jay.example.TEST_ACTION"/>

<category android: name ="com.intent.category.DEFAULT"/>

<data android: mimeType="video/mpeg"android:scheme="http"…/>

</intent-filter>

包含预定义动作的隐式Intent,是系统提供好的,在Intent类中已经定义好。

包含自定义动作的隐式Intent,开发人员按业务需求自定义的Action。

1.预定义动作的隐式Intent示例

代码示例:点击按钮后,所有Action为View的Activity被筛选出来,由用户进一步选择。

核心代码:建立第二个Activity的布局,与Activity对应。在第一个Activity的按钮点击事件中添加以下代码:

最后在第二个Activity的Intent中添加以下代码:

运行效果,见图4.5。

图4.5

2.自定义动作的隐式Intent示例(www.xing528.com)

代码示例:使用自定义的Action与Category来激活另一个Activity。

核心代码:建立第二个Activity的布局,与Activity对应。在第一个Activity的按钮点击事件中添加以下代码:

最后在第二个Activity的Intent中添加以下代码:

注意:虽然用户自定义了一个Category,但仍需要把这个默认的加上,不然会报错:

(1)新建一个module,命名为IntentmActionDemo。

(2)布局文件activity_main.xml。

(3)MainActivity.java。

(4)在另一个应用的清单文件里增加Intent相关代码,本例中第二个Activity使用的是应用TestDemo中的LoginActivity(该应用中已新建有一个LoginActivity),应用TestDemo的清单文件Manifest.xml如下:

(5)先装载(运行)应用TestDemo,再运行本例应用,效果见图4.6。

图4.6

(6)下面测试有多个应用响应同一个隐式Intent。打开一个应用并在清单文件里增加Intent相关代码,本例中第三个Activity使用的是应用JsonDemo中的MainActivity,应用JsonDemo的清单文件Manifest.xml如下:

(7)先装载(运行)应用TestDemo和JsonDemo,再运行本例应用,效果见图4.7。

图4.7

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈