我正在开发一个应用程序,其中我有超过10个图像。当我将这些图像保存到卡片上时,这些图像完美地保存在卡片上但未显示在计算器中。重新启动设备后,图像显示为gallary。我使用了很多方法但没有结果。所以请给我一些解决方案。 这是代码。
File sdCard = Environment.getExternalStorageDirectory();
String path = sdCard.getAbsolutePath() + "/YourFolder/";
File dir = new File(path);
if (!dir.exists()) {
if (dir.mkdirs()) {
}
}
OutputStream outStream = null;
///below Code String
strFileName=android.text.format.DateFormat.format("dd-MM-yyyy-hh-mm-ssaa", new java.util.Date()).toString();
File file = new File(path, strFileName+ ".png");
try {
outStream = new FileOutputStream(file);
bbicon.compress(Bitmap.CompressFormat.PNG, 100, outStream);
outStream.flush();
outStream.close();
} catch(Exception e) {
答案 0 :(得分:0)
创建一个这样的方法:
void doScanFile(String fileName) {
String[] filesToScan = {fileName};
MediaScannerConnection.scanFile(this, filesToScan, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String filePath, Uri uri) {
mediaFileScanComplete(filePath, uri);
}
});
}
void mediaFileScanComplete(String mediaFilePath, Uri mediaFileUri) {
//Save this infromation to fiels if you need them
_lastMediaFilePath = mediaFilePath;
_lastMediaFileUri = mediaFileUri;
}
文件保存后用你的文件名调用它 - doScanFile(file.toString());
答案 1 :(得分:0)
作为替代方法,您可以在创建时使用以下行单独添加图像:
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(outputFile)));
将outputFile作为你的形象。