繁体   English   中英

如何访问由我自己的相机活动拍摄的照片的Uri?

[英]How to access the Uri of a photo taken by my own camera activity?

我编写了一个相机活动来拍摄照片并将其保存到内存中,如何访问已保存照片的Uri?

这是我的相机活动的一些代码:

    public void onPictureTaken(byte[] data, Camera camera) {

        File pictureFile = getOutputMediaFile(MEDIA_TYPE_IMAGE);
        if (pictureFile == null){
            Log.d("Errore Doorbin", "Error creating media file, check storage permissions: ");
            return;
        }

        try {
            FileOutputStream fos = new FileOutputStream(pictureFile);
            fos.write(data);
            fos.close();
            // these lines are for the gallery to scan the SDCard manually
            File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
                    Environment.DIRECTORY_PICTURES), "MyCameraApp");
                sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
                    Uri.parse("file://"+ mediaStorageDir)));
           /* MediaScannerConnection.scanFile(CameraActivity.this,
                    new String[] { fos.toString() }, null,
                    new MediaScannerConnection.OnScanCompletedListener() {
                public void onScanCompleted(String path, Uri uri) {
                    // code to execute when scanning is complete
                }
           });*/
           // fos.close();
        } catch (FileNotFoundException e) {
            Log.d("Errore Doorbin", "File not found: " + e.getMessage());
        } catch (IOException e) {
            Log.d("Errore Doorbin", "Error accessing file: " + e.getMessage());
        }
        catch (Exception e)
        {
            Log.d("Errore Doorbin", "errore Kolli dade!" + e.getMessage()) ;
        }
    }
};

此活动获取的文件是pictureFile ,因此要访问它是Uri,应使用Uri的功能fromFile()如下所示:

Uri photoUri = Uri.fromFile(pictureFile);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM