簡體   English   中英

將捕獲的圖像保存在SD卡上的特定文件夾中

[英]Save captured image in specific folder on sd card

我在Android中使用相機,我是Android相機的新手。 我從這里開始關注教程

每當我在android清單中添加外部存儲權限時,相機會將其保存在默認目錄中,而不會詢問我,我想將其保存在我自己在SD卡中創建的文件夾中。 我搜索了很多但找不到任何有用的鏈接。 請幫助,任何幫助將不勝感激。 謝謝 :)

您可以在onActivityResult中添加此代碼。 這會將您的圖像存儲在名為“YourFolderName”的文件夾中

String extr = Environment.getExternalStorageDirectory().toString()
            + File.separator + "YourFolderName";
    File myPath = new File(extr, fileName);
    FileOutputStream fos = null;
    try {
        fos = new FileOutputStream(myPath);
        bitMap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
        fos.flush();
        fos.close();
        MediaStore.Images.Media.insertImage(context.getContentResolver(),
                bitMap, myPath.getPath(), fileName);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

還需要設置Manifest的權限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

相機將它保存在默認目錄中而不詢問我,我想將它保存在我在SD卡中創建的文件夾中

您可以通過EXTRA_OUTPUT告訴相機您希望照片的存儲EXTRA_OUTPUT ,如ACTION_IMAGE_CAPTURE上的文檔培訓模塊所示。

但是,並不要求所有攝像機都存儲您要求的圖像。 如果在拍攝圖像后您要求的文件不存在,則需要回退到現有的應用程序邏輯。

您可以指定一個路徑將圖像數據寫入特定位置,如下所示:

String fileName = "/mnt/sdcard/foldername";
FileOutputStream  fos = new FileOutputStream(fileName);
fos.write(data);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM