Android - 将从相机中选取的图像获取到照片库中
Android - Get an image picked from a camera into a photo gallery
我是 Android 的新手。这是我的第一个问题。我正在测试 4.4.4,KitKat。
我在我的应用程序中使用 Android 开发人员 "Taking Photos Simply" 代码。
(Taking Photos Simply Tutorial)
我希望用户拍摄的照片可用于我的应用程序,但稍后也可在图库中使用。
如果我指定
File storageDir = getExternalFilesDir (null);
然后各种相机工作(相机、opencamera、DSLR 相机),但在我离开我的应用程序后,图像不会出现在图库中。
如果我指定
File storageDir = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
那么行为是一样的,除了一个相机应用程序:DSLR Camera。照片确实出现在该应用程序的相机目录中,稍后可以使用图库看到该目录。
我希望我的应用程序具有这种行为。我希望用户拍摄的照片出现在他们以后可以使用图库应用程序查看的目录中。但是,我不想创建重复的图像。
我也想稍后将修改后的图像保存到同一目录。
感谢您的帮助
but after I leave my app the images do not appear in the gallery.
它可能最终。图库应用程序通常使用 MediaStore
,您的文件最终可能会添加到其中。使用 MediaScannerConnection
和 scanFile()
来加快这个过程。
您需要请求媒体扫描器扫描文件并将其添加到媒体database.Use此代码。
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(mMediaUri);
sendBroadcast(mediaScanIntent);
并查看 android 开发人员中的 ACTION_MEDIA_SCANNER_SCAN_FILE site.Here mMediaUri 是您文件的 URI。
我是 Android 的新手。这是我的第一个问题。我正在测试 4.4.4,KitKat。
我在我的应用程序中使用 Android 开发人员 "Taking Photos Simply" 代码。 (Taking Photos Simply Tutorial) 我希望用户拍摄的照片可用于我的应用程序,但稍后也可在图库中使用。
如果我指定
File storageDir = getExternalFilesDir (null);
然后各种相机工作(相机、opencamera、DSLR 相机),但在我离开我的应用程序后,图像不会出现在图库中。
如果我指定
File storageDir = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
那么行为是一样的,除了一个相机应用程序:DSLR Camera。照片确实出现在该应用程序的相机目录中,稍后可以使用图库看到该目录。
我希望我的应用程序具有这种行为。我希望用户拍摄的照片出现在他们以后可以使用图库应用程序查看的目录中。但是,我不想创建重复的图像。
我也想稍后将修改后的图像保存到同一目录。
感谢您的帮助
but after I leave my app the images do not appear in the gallery.
它可能最终。图库应用程序通常使用 MediaStore
,您的文件最终可能会添加到其中。使用 MediaScannerConnection
和 scanFile()
来加快这个过程。
您需要请求媒体扫描器扫描文件并将其添加到媒体database.Use此代码。
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(mMediaUri);
sendBroadcast(mediaScanIntent);
并查看 android 开发人员中的 ACTION_MEDIA_SCANNER_SCAN_FILE site.Here mMediaUri 是您文件的 URI。