Android_非UI:Intent Action

Action

打开GPS设置界面

Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);

这里写图片描述

直接拨打电话号码

Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:158xxxx2885"));
startActivity(intent);

这里写图片描述

打开拨号盘界面

Intent intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:158xxxx2885"));
startActivity(intent);

这里写图片描述

Intent.ACTION_GET_CONTENT

最近打开的图片或视频列表界面

Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
//intent.setType("video/*");
Intent intentChooser = intent.createChooser(intent, null);
startActivityForResult(intentChooser, 101);

这里写图片描述 这里写图片描述 这里写图片描述

Intent.ACTION_VIEW

打开一个新的界面,可以实现很多功能,如打开拨号盘界面/打开网页/播放视频/发送短信界面等。

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri uri = Uri.parse("tel:15153510997");
intent.setData(uri);
startActivity(intent);

Uri uri = Uri.parse("tel:15153510997");//打开拨号盘界面
Uri uri = Uri.parse("https://www.baidu.com/");//打开网页
Uri uri = Uri.parse("geo:39.916927,116.403119");//打开地图
Uri uri11 = Uri.parse("file:///sdcard/media.mp4");//打开视频界面

//编辑短信界面(没有目的手机号码)
intent.putExtra("sms_body", "信息内容...");
intent.setType("vnd.android-dir/mms-sms");

这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述

打开编辑短信界面,有目的手机号码 Intent.ACTION_SENDTO

Uri uri = Uri.parse("smsto:158xxxx2885");
intent.setData(uri);
intent.setAction(Intent.ACTION_SENDTO);
intent.putExtra("sms_body", "短信内容");

这里写图片描述

打开通话记录或通讯录界面

intent.setAction(Intent.ACTION_CALL_BUTTON);

打开相机

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
Uri uri21 = Uri.parse("content://mms/scrapSpace");
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri21); 
startActivityForResult(intent, 102);

这里写图片描述

获取缩略图:

Intent intent1 = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent1, 1);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 1) { //获取缩略图
        Bundle bundle = data.getExtras();
        Bitmap bitmap = (Bitmap) bundle.get("data");//将数据转换成bitmap
    }
}

获取原图

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
String path = Environment.getExternalStorageDirectory() + "/ABC/" + PICTURE_FILE;
File file = new File(path);
Uri imageUri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, 2);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 2) { //获取原图
        String path2 = Environment.getExternalStorageDirectory() + "/ABC/" + PICTURE_FILE;
        File oldFile2 = new File(path2);
    }
}

卸载APP

需要packageName

Intent intent = new Intent();
intent.setAction("android.intent.action.DELETE");
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("package:" + info.getPackageName()));
startActivity(intent);

启动APP

需要packageName

PackageManager pm = getPackageManager();
Intent launchIntent = pm.getLaunchIntentForPackage(info.getPackageName());
if (launchIntent != null) {
    startActivity(launchIntent);
}

发送短信

Intent smsIntent = new Intent();
smsIntent.setAction("android.intent.action.SEND");
smsIntent.addCategory("android.intent.category.DEFAULT");
smsIntent.setType("text/plain");
smsIntent.putExtra("sms_body", "发送一条短信");
startActivity(smsIntent);

APP设置界面

需要packageName

Intent setIntent = new Intent();
setIntent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
setIntent.addCategory("android.intent.category.DEFAULT");
setIntent.setData(Uri.parse("package:" + info.getPackageName()));
startActivity(setIntent);

这里写图片描述

其它

Demo: https://git.oschina.net/AndroidBaseDemo/intentaction01.git
Android开发之常用Intent.Action【转】
Android开发之Intent.Action

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值