Android 无需压缩即可将照片上载到驱动器

Android 无需压缩即可将照片上载到驱动器,android,android-bitmap,google-drive-android-api,drive,Android,Android Bitmap,Google Drive Android Api,Drive,我想将相机中的照片直接上载到驱动器文件夹: OutputStream outputStream = result.getDriveContents().getOutputStream(); ByteArrayOutputStream bitmapStream = new ByteArrayOutputStream(); /* image is my Bitmap */ image.compress(Bitmap.Co

我想将相机中的照片直接上载到驱动器文件夹:

OutputStream outputStream = result.getDriveContents().getOutputStream();
                    ByteArrayOutputStream bitmapStream = new ByteArrayOutputStream();
/* image is my Bitmap */
                    image.compress(Bitmap.CompressFormat.PNG, 100, bitmapStream);

                    try {
                        outputStream.write(bitmapStream.toByteArray());
                    } catch (IOException e1) {
                        Log.i(TAG, "Unable to write file contents.");
                    }
所以我在做这件事,而且它在起作用。问题是,我在驱动器中的图片质量很低,我需要一个高质量的视频

我已经试过这个方法了

但在驱动器中,照片无法识别为媒体文件,无法读取。我可能失败了

编辑:我已经做了与之完全相同的事情,并以这种方式在ActivityResult中获取位图:

try {
                    mBitmapToSave = MediaStore.Images.Media.getBitmap(this.getContentResolver(), data.getData());
                } catch (IOException e) {
                    e.printStackTrace();
                }

我并没有要求获得写入外部存储的权限,它在我的清单中,但由于api23,我需要显式地询问用户是否同意


现在很好。

用于使用

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
this.startActivityForResult(cameraIntent, 101);  
捕获图像后,您可以在cameraIntent中设置的路径上获取捕获图像。如果不想设置预定义路径,请检查意图数据

    if (resultCode == android.app.Activity.RESULT_OK && requestCode == 101) {
        try {        
            path_mm = "Onsuccess_resultcode";
            generateNoteOnSD("photo34.txt", path_mm);
            Bitmap photo = null;
            if (data == null) {
                        //get Bitmap  here.
            } else {
               Uri u1 = data.getData();
               //get uri and find actual path on that uri.
               }
           }catch(Exception ex) {}
}

请参阅此链接以了解谷歌硬盘上传。

您可能希望为输出图像提供uri,如本SO中所述。如果未提供
uri
,相机意图将仅返回图片的缩略图。您还可以查看本教程-,以了解如何正确执行此操作。希望这有帮助。我已经试过了,但不知道为什么我没有找到一种方法来获得位图。当我试图指定uri时,我无法检索完整大小的图片