2012-04-20 31 views
0

在android中,谁创建thumnails?Android缩略图创作,它是谁?

我有一个应用程序,我正在访问thumnail数据库。我观察到,在SD卡中加载新图像后,我的应用程序中会遗失一些图像。

那么它是谁创建和更新缩略图数据库的媒体扫描器? 有没有办法强制它?

回答

0

我认为你需要重新扫描媒体。 拍完照片后尝试调用ContentResolver的insert()函数来传递关于图片的信息。

public final Uri insert (Uri url, ContentValues values) 

它实际上会将图片添加到数据库并为您创建图片的缩略图。它也将被添加到缩略图数据库中。希望这可以帮助!

OR

试试这个代码:

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类型,因为空值会使扫描器自动确定MIME类型。