Android 使用 Intent 实现花式跳转
Android About 2,689 words跳转到应用详情界面
Settings
里
Setting的意图过滤器
// <intent-filter>
// <action android:name="android.settings.APPLICATION_DETAILS_SETTINGS"/>
// <category android:name="android.intent.category.DEFAULT" />
// <data android:scheme="package" />
// </intent-filter>
Intent intent = new Intent();
intent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
intent.addCategory(Intent.CATEGORY_DEFAULT);//可以省略
intent.setData(Uri.parse("package:" + mAppInfo.getPackageName()));
startActivity(intent);
跳转到拨号应用,打电话
//呼起隐式意图,跳转到拨号盘页面
Intent intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
//如果不传递uri也能跳转,但是没有电话号码
intent.setData(Uri.parse("tel:" + phone.number));
startActivity(intent);
跳转到照相机照相
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
// 调用系统相机
Intent intent = new Intent();
// 设置照相隐式意图
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
Uri fileUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "xxxx.jpg"));
// 指定存放图片的目录
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name
// 开启新界面
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
跳转到录像机录像
// 调用系统相机, 录像
//create new Intent
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
// 配置输出文件路径
Uri fileUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "oooo.3gp"));
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name
// 设置视频录制质量
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); // set the video image quality to high
// start the Video Capture Intent
startActivityForResult(intent, 0);
跳转到桌面(以返回键举例)
@Override
public void onBackPressed() {
//跳转到桌面,同时将activity销毁
Intent intent = new Intent();
intent.setAction("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
startActivity(intent);
finish();
super.onBackPressed();
}
跳转到系统设置辅助功能界面
Intent intent = new Intent();
intent.setAction("android.settings.ACCESSIBILITY_SETTINGS");
startActivity(intent);
跳转谷歌地图:
Uri uri = Uri.parse("geo:latitude,longitude");
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
这段代码将会弹出一个对话框,显示所有在initer-filter中注册了geo-uri类型的程序,让用户进行选择,如果我们的程序也需要支持处理geo-uri,可以通过在AndroidMainfest文件中添加如下代码来实现:
<intent-filter android:priority="0" >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="geo" />
</intent-filter>
Views: 6,047 · Posted: 2019-04-14
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...