代码-android调用系统拍照无返回值

问题描述

android调用系统拍照无返回值

我调用照相机拍照的代码是:

            cameraFile = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), DemoApplication.getInstance().getUserName()
                    + System.currentTimeMillis() + ".jpg"));
            cameraFileString = cameraFile.getPath().toString();
            Log.i("gather_uri", cameraFile.getPath());
            intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, cameraFile);
            //intent.putExtra("return-data", true);
            cordova.startActivityForResult(this, intent, PICK_FROM_CAMERA);

返回回调代码是:

        case PICK_FROM_CAMERA:  //拍照后回调
            Log.i("gather_img", "222" + cameraFile.getPath());
            if(data != null){
                Log.i("gather_img", "333" + cameraFile.getPath());
                intent = new Intent(cordova.getActivity(), CropImageActivity.class);
                intent.putExtra("image", cameraFile.getPath());
                intent.putExtra("status", photoStatus);
                cordova.startActivityForResult(this, intent, 600);
            }
            break;

在Nexus 5和Nexus 4的5.1.1的手机上测试没有任何问题,在小米的4.4的手机上测试是发现返回的数据data是空的,?有遇到或了解类似问题的朋友吗?

解决方案

1.
需要权限:
android:name="android.permission.CAMERA" />
有些机型可能还需要下面的权限(我测试的时候没有加小米平板16G拍照返回data为null):
android:name="android.hardware.camera" />android:name="android.hardware.camera.autofocus" />
2.拍......
答案就在这里:android调用系统拍照
----------------------

解决方案二:

File(Environment.getExternalStorageDirectory(), DemoApplication.getInstance().getUserName()看下/data/data目录下改文件夹是否创建成功,
如果失败了,是不会有返回值的

解决方案三:

File(Environment.getExternalStorageDirectory(), DemoApplication.getInstance().getUserName()看下/data/data目录下改文件夹是否创建成功,
如果失败了,是不会有返回值的

解决方案四:

可能文件系统不同,建议你去检查一下返回的data值,仔细找找吧,或者就直接保存到一个指定的位置

时间: 2024-08-22 15:17:10

代码-android调用系统拍照无返回值的相关文章

android调用系统拍照程序和从图库选取图片,返回后调用系统裁剪工具

调用系统拍照 Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File myImageDir = new File(TEMP_TAKE_PHOTO_FILE_PATH); //创建图片保存目录if (!myImageDir.exists()) {Mylog.d(THIS, "Create the path:" + TEMP_TAKE_PHOTO_FILE_PATH);myImageDir.mkdirs();} //根据时间

Android调用系统拍照裁剪图片模糊的解决方法

在Android中,调用系统相机拍照时,将会接收到返回的图像数据,但是这些图片并不是全尺寸的图像,而是系统给的缩略图,当对拍照的图片进行裁切后显示时,得到的却是模糊的图片.下面针对这个问题提出解决的方法. 首先,我们知道调用系统的裁切是通过Intent intent = new Intent("com.android.camera.action.CROP"); 但是intent到底能够携带哪些数据呢,都有什么含义呢,我们可以看到如下: 上面包含了所有可选的操作,其中有一些非常重要的参数

Android 调用系统照相机拍照和录像_Android

本文实现android系统照相机的调用来拍照 项目的布局相当简单,只有一个Button: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig

Android调用手机拍照功能的方法_Android

本文实例讲述了Android调用手机拍照功能的方法.分享给大家供大家参考.具体如下: 一.main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" andr

android-三星 note II 调用系统拍照获取到的照片是旋转的

问题描述 三星 note II 调用系统拍照获取到的照片是旋转的 拍完照好像旋转了,但到文件管理器中看到的图片并不是旋转的,这是怎么回事,难道还要手动旋转下? 解决方案 三星note2 android调用系统拍照空指针异常三星note2 android调用系统拍照空指针异常关于三星手机拍照 获取的照片旋转处理 解决方案二: 设置旋转为不旋转就可以了写死

android-Android 调用系统拍照如果截图太大有一瞬间的卡住,然后再跳到上传

问题描述 Android 调用系统拍照如果截图太大有一瞬间的卡住,然后再跳到上传 Android 调用系统拍照如果截图太大有一瞬间的卡住,然后再跳到上传 解决方案 http://bbs.csdn.net/topics/390657801 试试这个方法.. 解决方案二: 尽量不要卡UI......建议 解决方案三: 卡住应该是把图片转成流数据的过程,你把上传放到异步里面去

解决通过Intent调用系统拍照程序,返回图片太小的问题[android]

  以下的代码可以调用系统的拍照程序, 1 2 Intent it = newIntent("android.media.action.IMAGE_CAPTURE"); startActivityForResult(it, Activity.DEFAULT_KEYS_DIALER); 按下拍照键后,会返回到你的activity,所以你的activity要在onActivityResult方法里加一个处理, 1 2 3 4 5 6 7 8 9 10 11 12 13 protectedv

android调用系统相机拍照返回图片模糊

问题描述 android调用系统相机拍照返回图片模糊 上传代码 调用系统相机 Intent it = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(it, 1); 然后获取图片 Bundle extras = data.getExtras(); b = (Bitmap) extras.get("data"); String name = new SimpleDateFormat("yyy

android 调用系统摄像头录制视频后 返回界面时,在界面显示这个视频图像

问题描述 android 调用系统摄像头录制视频后 返回界面时,在界面显示这个视频图像 android 调用系统摄像头录制视频后 返回界面时,在界面显示这个视频图像(显示一个图标也就是控件),点击这个视频图像则播放视频(在这个图标上也就是这个控件),谁能提供下思路?