![](/img/trans.png)
[英]Access and manipulate files and directories on an external USB storage in a rooted Android device
[英]No access to device storage files
我正在嘗試將圖像存儲到設備中的特定文件夾中。
這是存儲圖像的代碼:
private static final String IMAGE_DIRECTORY = "/capenergy_camera";
private void saveImage() {
if (requestPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
showLoading("Saving...");
File file = new File(Environment.getExternalStorageDirectory()+IMAGE_DIRECTORY
+ File.separator + ""
+ System.currentTimeMillis() + ".png");
try {
file.createNewFile();
SaveSettings saveSettings = new SaveSettings.Builder()
.setClearViewsEnabled(true)
.setTransparencyEnabled(true)
.build();
mPhotoEditor.saveAsFile(file.getAbsolutePath(), saveSettings, new PhotoEditor.OnSaveListener() {
@Override
public void onSuccess(@NonNull String imagePath) {
hideLoading();
showSnackbar("Image Saved Successfully");
mPhotoEditorView.getSource().setImageURI(Uri.fromFile(new File(imagePath)));
}
@Override
public void onFailure(@NonNull Exception exception) {
hideLoading();
showSnackbar("Failed to save Image");
}
});
} catch (IOException e) {
e.printStackTrace();
hideLoading();
showSnackbar(e.getMessage());
}
}
}
我不知道為什么存儲文件夾總是添加/ emulated / 0路徑,也不知道如何訪問該文件夾。
示例: /storage/emulated/0/capenergy_camera/1565010745877.png
我不知道為什么存儲文件夾總是添加/ emulated / 0路徑
在設備上的設備文件系統中, /storage/emulated/0
是Android SDK稱為外部存儲的根 。 這是相當典型的設置。
我不知道如何訪問該文件夾
在Android Studio中使用設備文件資源管理器。
或者,使用adb shell
。
或者,通過USB電纜將設備插入開發計算機,並安裝用戶稱為“內部存儲”的內容(盡管實際上,SDK稱為外部存儲)。 但是,您的文件不會立即顯示在此處,因為MediaStore
並未對其進行索引。 使用MediaScannerConnection.scanFile()
可以更快地為其建立索引。
或者,如果安裝了某個設備上的文件管理器,則使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.