安卓中的Activity的几种跳转方式

来源(博客园)

From: https://www.cnblogs.com/foxy/p/7725010.html

安卓中的Activity的几种跳转方式

原创 2016年07月19日 19:33:19

安卓中的Activity的几种跳转:

一:显式调用方法

方法一:

Intent intent=new Intent(本类,将要跳转的类);
startActivity(intent);


方法二:

Intent intent2=new  Intent();
intent2.setClass(本类,另外将要跳转的类); // (intent2.setClass(MainActivity.this,shoyeActivity.class);)
startActivity(intent2);


方法三:(此方式可用于打开其它的应用)

Intent intent2=new  Intent();
intent2.setClassName(this,“将要跳转界面的名字”);
startActivity(intent2);


方法四:

Intent intent2=new  Intent();
intent2.setComponent(new ComponentName(MainActivity.this, OtherActivity.class));
startActivity(intent2);


二:隐式调用方法(只要action、category、data和将要跳转到的Activity在AndroidManifest.xml中设置的匹配就OK)

<activity
	android:name="com.saiermeng.intent.SecondActivity"
	android:label="@string/title_activity_second" >
	<intent-filter >
		<action android:name="com.saiermeng.intent.open02"/>
		//在data中设置了哪些,则哪些必须匹配,没设置的可以任意写
		<data android:scheme="http"
			android:host="www.saiermeng.com"
			android:port="8080"
			android:path="/java"
		></data>
		//因为startActivity()方法中内置了该类别,索引必须加上此类别,否则android.intent.category.DEFAULT无法跳转
		<category android:name="android.intent.category.DEFAULT"/>
	</intent-filter>
</activity>


三:跳转到另一个Activity后,当返回时能返回数据

1.在跳转的Activity端,调用startActivityForResult(intent2, 2),跳转到下一个Activity,其中第一个参数为传入的意图对象,第二个为设置的请求码;

2.跳转到第二个Activity后,调用setResult(10, intent)方法可返回上一个Activity,其中第一个参数为结果码,第二个为传入的意图对象;

3.在第一个Activity通过onActivityResult()方法获得返回的数据。

Link: http://www.asm32.net/article_details.aspx?id=7293


浏览次数 0 发布时间 2018/4/12 2:30:16 从属分类 Android 安卓 【评论】【 】【打印】【关闭
 
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | Python | 书签 | ASP.Net书签 | 京ICP备09029108号-1