在android中,谁创建缩略图?
我有一个应用程序,我正在访问缩略图数据库。我观察到在 sdcard 中加载新图像后,我的应用程序中丢失了一些图像。
那么是媒体扫描仪创建和更新缩略图数据库吗?有办法强制吗?
在android中,谁创建缩略图?
我有一个应用程序,我正在访问缩略图数据库。我观察到在 sdcard 中加载新图像后,我的应用程序中丢失了一些图像。
那么是媒体扫描仪创建和更新缩略图数据库吗?有办法强制吗?
我认为您需要重新扫描媒体。拍照后尝试调用ContentResolver的 insert() 函数,传递有关图片的信息。
public final Uri insert (Uri url, ContentValues values)
它实际上会将图片添加到数据库中并为您创建图片的缩略图。它也将被添加到缩略图数据库中。希望这可以帮助!
或者
试试这个代码:
public static void scanFile(Context context, String path, String mimeType ) {
Client client = new Client(path, mimeType);
MediaScannerConnection connection = new MediaScannerConnection(context, client);
client.connection = connection;
connection.connect();
}
private static final class Client implements MediaScannerConnectionClient {
private final String path;
private final String mimeType;
MediaScannerConnection connection;
public Client(String path, String mimeType) {
this.path = path;
this.mimeType = mimeType;
}
@Override
public void onMediaScannerConnected() {
connection.scanFile(path, mimeType);
}
@Override
public void onScanCompleted(String path, Uri uri) {
connection.disconnect();
}
}
然后只需调用scanFile(imageUri.getPath(), null)
.
不要使用编码路径,也不要使用“ / ”作为 MIME 类型,因为 null 值会使扫描仪自动确定 MIME 类型。