簡體   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