我是Android新手。这是我的第一个问题。我正在测试4.4.4,KitKat。
我在我的应用中使用Android开发者“简单拍照”代码。 (Taking Photos Simply Tutorial) 我希望用户拍摄的照片可供我的应用使用,但也可在稍后的图库中使用。
如果我指定
File storageDir = getExternalFilesDir (null);
然后各种相机工作(相机,opencamera,DSLR相机),但在我离开我的应用程序后,图像不会出现在图库中。
如果我指定
File storageDir = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
然后行为是相同的,除了一个相机应用程序:DSLR相机。照片确实出现在该应用程序的相机目录中,稍后可以使用该库查看。
我希望这个行为适用于我的应用。我希望用户拍摄的照片显示在他们稍后可以使用图库应用程序查看的目录中。但是,我不想创建重复的图像。
我还想稍后将修改后的图像保存到同一目录。
感谢您的帮助
答案 0 :(得分:0)
但在我离开我的应用后,图片不会出现在图库中。
最终可能。图库应用通常使用MediaStore
,您的文件最终可能会添加到其中。使用MediaScannerConnection
和scanFile()
加快此过程。
答案 1 :(得分:0)
您需要请求媒体扫描程序扫描文件并将其添加到媒体数据库。使用此代码。
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(mMediaUri);
sendBroadcast(mediaScanIntent);
并在Android开发者网站中查看 ACTION_MEDIA_SCANNER_SCAN_FILE 。 mMediaUri 是您文件的Uri。