跳转部分的代码:
Intent intent;
switch (v.getId()) {//显式调用
case R.id.main_btn1:
intent = new Intent(MainActivity.this,FristActivity.class);
startActivity(intent);
break;
//隐式调用
case R.id.main_btn2:
//一个activity只能有一个action可以指定多个Category
intent = new Intent("android.intent.action.FRIST");
intent.addCategory("android.intent.category.FRIST");
startActivity(intent);
break;
//隐式调用网页
case R.id.main_btn3:
//一个activity只能有一个action可以指定多个Category
intent = new Intent(Intent.ACTION_VIEW);
/*setData接受一个Uri对象,可以在<intent-filter>标签中配置一个<data>标签
1. android:scheme
用于指定数据的协议部分,如上例中的 http部分。
2. android:host
用于指定数据的主机名部分,如上例中的 www.baidu.com部分。
3. android:port
用于指定数据的端口部分,一般紧随在主机名之后。
4. android:path
用于指定主机名和端口之后的部分,如一段网址中跟在域名之后的内容。
5. android:mimeType
用于指定可以处理的数据类型,允许使用通配符的方式进行指定。
geo表示显示地理位置*/
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
break;
//隐式调用网页跳转自定义页面
case R.id.main_btn4:
intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
break;
//隐式调用拨打电话
case R.id.main_btn5:
intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
break;
}
清单文件中配置:
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".FristActivity"
android:label="@string/title_activity_frist" >
<intent-filter>
<action android:name="android.intent.action.FRIST" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.FRIST" />
</intent-filter>
</activity>
<activity
android:name=".SecondActivity"
android:label="@string/title_activity_second" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
</intent-filter>
</activity>