1、显示跳转
跳android系统定义Activity方法
/**
* 显示跳转至拨号器
*/
public void click3(View v){
Intent intent = new Intent();
//指定目标Activity的包名和类名
intent.setClassName("com.android.dialer", "com.android.dialer.DialtactsActivity");
startActivity(intent);
}
/**
* 显式跳转至浏览器
*/
public void click6(View v){
Intent intent = new Intent();
intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
startActivity(intent);
}
跳自定义Activity方法
/**
* 跳转至secondActivity
* 在本应用中跳转
* 显示跳转:直接指定目标Activity的包名和类名
* @param v
*/
public void click2(View v){
Intent intent = new Intent();
//cls:直接指定目标Activity的类名
//显示意图
intent.setClass(this, SecondActivity.class);
startActivity(intent);
}
/**
* 跳转至secondActivity
* 在本应用中跳转
* 显示跳转:直接指定目标Activity的包名和类名
* @param v
*/
public void click2(View v){
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
2、隐式跳转
跳android系统定义activity
/**
* 跳转至打电话activity
* 跳转至其他应用的activity
* 隐式跳转:通过指定action和data
* @param v
*/
public void click1(View v){
Intent intent = new Intent();
//隐式意图
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:110"));
//跳转
startActivity(intent);
}
/**
* 隐式跳转至拨号器
*/
public void click4(View v){
Intent intent = new Intent();
//隐式设置拨号器的动作
intent.setAction(Intent.ACTION_DIAL);
startActivity(intent);
}
/**
* 隐式跳转至浏览器
* @param v
*/
public void click7(View v){
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
}
隐式跳自定义activity
public void click7(View v){
Intent intent = new Intent();
intent.setAction("android.intent.action.thirdActivity");
startActivity(intent);
}
//可以不写,在默认情况下;否则要与清单文件匹配
intent.addCategory("android.intent.category.DEFAULT");
至少要在跳转的activity中配置action 、category
<activity
android:name="com.qishui.activity.ThirdActivity"
>
<intent-filter>
<action android:name="android.intent.action.thirdActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
在清单文件中意图匹配中还可以添加
<data android:scheme="qishui" />
在意图跳转时需要加上
//qishui前缀
intent.setData(Uri.parse("qishui:10086"));
如果配置了
<data android:mimeType="text/account" />
那就要
//设置类型
intent.setType("text/account");
如果一起设置了
<data android:scheme="qishui" android:mimeType="text/account" />
在意图中需要使用
intent.setDataAndType(Uri.parse("qishui:10086"), "text/account");
在跳转至的activity中获取传递过来的数据
Intent intent = getIntent();
String data = intent.getDataString();