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

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓


Today On History
Browsing Refresh