java中的grant_Java Activity.grantUriPermission方法代码示例

import android.app.Activity; //导入方法依赖的package包/类

/**

* 拍照

*/

public static String capture(Activity activity, int requestCode) {

Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

String picName = null;

if (cameraIntent.resolveActivity(activity.getPackageManager()) != null) {

if (BaseConfig.sSDCardExist) {

picName = Environment.getExternalStorageDirectory().getAbsolutePath() +

File.separator + Environment.DIRECTORY_DCIM + File.separator +

"Camera" + File.separator + activity.getString(R.string.app_name) +

"_" + System.currentTimeMillis() + ".jpg";

} else {

picName = activity.getCacheDir().getPath() + File.separator +

activity.getString(R.string.app_name) + "_" + System.currentTimeMillis() + ".jpg";

}

File photoFile = new File(picName);

// FileUtils.createFile(photoFile);

Uri uri = FileProvider.getUriForFile(activity,

App.getInstance().getApplicationId() + ".provider", photoFile);

List resInfoList = activity.getPackageManager()

.queryIntentActivities(cameraIntent, PackageManager.MATCH_DEFAULT_ONLY);

for (ResolveInfo resolveInfo : resInfoList) {

String packageName = resolveInfo.activityInfo.packageName;

activity.grantUriPermission(packageName, uri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION

| Intent.FLAG_GRANT_READ_URI_PERMISSION);

}

cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

activity.startActivityForResult(cameraIntent, requestCode);

} else {

AppToast.showToast(R.string.open_camera_failure);

}

return picName;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值