展会信息港展会大全

android intent 隐式意图和显示意图(activity跳转)
来源:互联网   发布日期:2016-01-14 09:31:50   浏览:1340次  

导读:android中的意图有显示意图和隐式意图两种,显示意图要求必须知道被激活组件的包和class隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件A 主activit...

android中的意图有显示意图和隐式意图两种,

显示意图要求必须知道被激活组件的包和class

隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件

A 主activityB 接收跳转的activity

步骤

1:在主配置文件中声明B 至少要声明一个android:name属性

[html]

<activity

android:name=".DemoActivity"

android:label="@string/demoActivity" >

<intent-filter>

<!-- 隐士意图中指定intent的名字 自己定义 可匹配多项 -->

<action android:name="com.itcast.intent.DemoActivity" />

<!-- 隐式intent需要指定的activity的类型,可自己定义该值,需要在调用的时候相对应不写该项默认为 android.intent.category.DEFAULT,可匹配多项 -->

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

<!-- 指定传想该activity数值的类型 和主机,如果指定该项,就必须在跳转activity的时候传入还数据和主机名 -->

<data

android:host="cn.itcast.demo"

android:scheme="itcast" />

</intent-filter>

</activity>

2:在A的布局文件中一个textview和button,并添加点击事件

[html]

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="第一个activity" />

<Button

android:id="@+id/button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:onClick="open"

android:text="跳转" />

3:点击事件触发的集中intent意图

[java]

/**

* 意图,描述一个动作,激活一个组件,使用其他的activity需要现在主文件中配置activity的名字等属性

* intent 要去做一件事

*

* @param view

*/

public void open(View view) {

/**

* 方法一

*/

Intent intent1 = new Intent();

// 1.是当前的包名,2跳转activity的类名,一定要加上包名

intent1.setClassName("com.itcast.intent", "com.itcast.intent.DemoActivity");

// startActivity(intent1);

/**

* 方法二

*/

Intent intent2 = new Intent(this, DemoActivity.class);

// startActivity(intent2);

/**

* 方法三

*/

Intent intent3 = new Intent();

ComponentName component = new ComponentName("com.itcast.intent", "com.itcast.intent.DemoActivity");

intent3.setComponent(component);

// startActivity(intent3);

/**

* 上面三种方法要求必须知道被激活组件的包和class,称为显示意图

*/

// ******************************************************************//

/**

* 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件<br>

* 如果要激活另外程序的组件

*/

Intent intent = new Intent();

intent.setAction("com.itcast.intent.DemoActivity");

// 不管在主配置文件中有

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港