Androidでは、誰がサムネイルを作成しますか?
サムネイルデータベースにアクセスしているアプリがあります。新しい画像を SD カードにロードした後、一部の画像がアプリで見落とされていることがわかりました。
では、サムネイル データベースを作成および更新するのはメディア スキャナでしょうか。強制する方法はありますか?
Androidでは、誰がサムネイルを作成しますか?
サムネイルデータベースにアクセスしているアプリがあります。新しい画像を SD カードにロードした後、一部の画像がアプリで見落とされていることがわかりました。
では、サムネイル データベースを作成および更新するのはメディア スキャナでしょうか。強制する方法はありますか?
メディアを再スキャンする必要があると思います。写真を撮ったら、 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 タイプを自動的に判別するためです。