android - Camera Intent 的结果代码 0

标签 android android-camera

代码:-

  Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);                                   
        try{
               imageUri = Uri.fromFile(File.createTempFile("image", ".jpg"));
           }catch (Exception ex){
               ex.printStackTrace();
          }

   intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageUri);
    startActivityForResult(intent, REQUEST_CAMERA);

我在 android list 文件中使用与此相关的所有权限... 上述 Intent 在 mot g3 turbo 和更多设备中运行良好,但在只有 nexus 5 的情况下,resultCode 为 0.. 为什么?

最佳答案

在 CommonsWare 先生的指导下,我通过进行以下更改解决了我的问题...

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
destination = Environment.getExternalStorageDirectory().getPath() + "/image.jpg";
outputUri= Uri.fromFile(new File(destination));
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputUri);
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP) {
  intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
} else {
  List<ResolveInfo> resInfoList = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
  for (ResolveInfo resolveInfo : resInfoList) {
      String packageName = resolveInfo.activityInfo.packageName;
      grantUriPermission(packageName, outputUri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
  }
}         

startActivityForResult(intent, REQUEST_CAMERA); 

关于android - Camera Intent 的结果代码 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37835499/

相关文章:

javascript - HTML5 : additional chars in input with type ="number"

javascript - 状态代码 :404 Not Found (from cache) | Hybrid App using AngularJS

android - 带有蒙版的意外纹理混合结果

Android:用图像替换相机预览

java - Android:相机表面 View 模糊

java - Android - 使用特定的保存位置启动相机

java - 如何在 Android Camera Preview 中使用 OpenCV 方法

android - findViewById 仍然返回 null(新手)

android - 具有 2 列的 GridView 无需在 Activity 中编写任何代码? - 安卓工作室

java - Android:如何检测相机是否闪烁