Android Java:在Gallery中获取位图

Android Java:在Gallery中获取位图,android,bitmap,gallery,sd-card,Android,Bitmap,Gallery,Sd Card,我在以下目录中保存了一个位图:Environment.getExternalStorageDirectory()+File.separator+子目录中的“Images”。使用文件管理器,我可以找到图像并打开它。但在智能手机的图库中,我找不到图像。 我怎样才能在那里找到它?要让画廊知道你的文件,你需要呼叫MediaScanner: Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); intent.setData(U

我在以下目录中保存了一个位图:Environment.getExternalStorageDirectory()+File.separator+子目录中的“Images”。使用文件管理器,我可以找到图像并打开它。但在智能手机的图库中,我找不到图像。
我怎样才能在那里找到它?

要让画廊知道你的文件,你需要呼叫MediaScanner:

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(file));
sendBroadcast(intent);

另请参见:

您实际上可以直接访问图片目录。为此,请使用

getExternalStoragePublicDirectory(String type)
,其中
type
等于
Environment.DIRECTORY\u PICTURES
。 有关更多信息,请参阅

这比假设图片总是存储在一个名为“Images”的目录中更干净

现在,要强制画廊注册更改,请查看。 引用答案,您希望广播一个指定新图片的意图,同样:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(myNewFile)));