[英]Why can't I see my taken pictures in gallery?
我正在無根4.0.4 Android設備(沒有SD卡)上使用Camera進行實驗。 我正在做一些連拍,並將它們保存在內部存儲器中。
我的問題是我的照片存儲在/data/data/my.package.name/files
,如果沒有root權限,我將無法訪問它們。 我可以看到這些文件,但它們沒有讀取權限。
我發現了一些廣播意圖,應該使它們在標准畫廊中可見,但這似乎也不起作用。
有人對我如何訪問照片有其他想法嗎? 還是調整我到目前為止嘗試過的東西?
我如何保存照片:
public void onPictureTaken(byte[] data, Camera camera) {
FileOutputStream outStream = null;
try {
Log.i(TAG, ""+Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES));
Log.i(TAG,"fotofolder is "+getFilesDir());
// write to local sandbox file system
outStream = CameraDemo.this.openFileOutput(String.format("%d.jpg",
System.currentTimeMillis()), 0);
outStream.write(data);
outStream.close();
//this intent should make fotos visible in the gallery
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.fromFile(Environment.getExternalStorageDirectory())));
// Uri.parse("file://" + Environment.getExternalStorageDirectory())));
Log.i(TAG, "onPictureTaken - wrote bytes: " + data.length);
...
}
日志:
08-23 12:42:49.324: I/FrontCamera(15832): /mnt/sdcard/Pictures
08-23 12:42:49.327: I/FrontCamera(15832): fotofolder is /data/data/com.example.camera/files
08-23 12:42:49.370: I/FrontCamera(15832): onPictureTaken - wrote bytes: 430493
<---將照片放入data/data...
文件夾,而不是有用的mnt/sdcard/Pictures
MediaStore.Images.Media.insertImage(getContentResolver(), imageBitmap, imageTitle, imageDescription);
您可以使用內部存儲進行保存。
要在圖庫中反映圖像,請嘗試以下操作:
MediaScannerConnection.scanFile(DetailsActivity.this, new String[] {filepath }, null, new OnScanCompletedListener() {
@Override
public void onScanCompleted(String path, Uri uri) {
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.