隐式跳转:跳转到应用外部
描述:不明确的指明要跳到那个页面,而是通过 条件筛选 确定目的页面
1.在代码文件中给intent添加setAction(“”)参数
java代码里还可以setData(“”)
示例:点击按钮跳转到百度/相机/电话/短信
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getBaseContext(), "去隐式内部页面", Toast.LENGTH_LONG).show();
Intent intent = new Intent();
//自定义的条件用来跳到自己写的页面内部的app页面跳转
intent.setAction("com.studay.base.study.jump.InnerJumpActivity");
startActivity(intent);
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getBaseContext(), "去百度", Toast.LENGTH_LONG).show();
Intent intent = new Intent();
//自定义的条件用来跳到自己写的页面内部的app页面跳转
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getBaseContext(), "去相机", Toast.LENGTH_LONG).show();
Intent intent = new Intent();
//自定义的条件用来跳到自己写的页面内部的app页面跳转
intent.setAction("android.media.action.STILL_IMAGE_CAMERA");
startActivity(intent);
}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getBaseContext(), "去电话", Toast.LENGTH_LONG).show();
Intent intent = new Intent();
//自定义的条件用来跳到自己写的页面内部的app页面跳转
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:15239862553"));
startActivity(intent);
}
});
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getBaseContext(), "去短信", Toast.LENGTH_LONG).show();
Intent intent = new Intent();
//自定义的条件用来跳到自己写的页面内部的app页面跳转
intent.setAction(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("smsto:15239862553"));
intent.putExtra("smsbody","你好啊,这是给小新的短信");
startActivity(intent);
}
});
2.也是通过intent,在检索项目的manifest文件里给activity设置intent-fifter
具体是activity里的Intent设置条件,系统通过清单文件的Intent-fifter去找目标activity
筛选条件:1.Action :动作: 2.Category:类别 ,也是对intent一种额外描述
AndroidManifest.xml文件示例:
<activity
android:name=".jump.InnerJumpActivity"
android:exported="false">
<intent-filter>
<!--1.隐式跳转注意写这个-->
<action android:name="com.studay.base.study.jump.InnerJumpActivity" />
<!--2.隐式跳转注意写这个-->
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
3.Data:数据,也是对intent一种额外描述