安卓中的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()方法獲得返回的數據。