这应该是关于MEDIA RESCAN的常见问题解答
我的环境:
安卓 4.1.1
com.android.gallery3d 是用于管理缓存和缩略图的图库应用程序包。
画廊首选项位于:/data/data/com.google.android.gallery3d/shared_prefs/com.google.android.gallery3d_preferences.xml
<map>
<string name="pref_camera_recordlocation_key">none</string>
<int name="editor-update-image/*" value="312" />
<boolean name="prefs_sync_on_wifi_only" value="true" />
<string name="system_release">4.1.1</string>
<boolean name="pref_camera_first_use_hint_shown_key" value="false" />
<int name="cache-up-to-date" value="1" /> ** tried changing this **
<int name="editor-update-video/*" value="312" />
<int name="external_storage_fsid" value="-1" />
<int name="picasasync.prefetch.clean-cache" value="0" />
<boolean name="has-editor-image/*" value="true" />
<string name="pref_camera_jpegquality_key">superfine</string>
<int name="pref_version_key" value="5" />
<boolean name="pref_video_first_use_hint_shown_key" value="false" />
<int name="packages-version" value="312" />
<boolean name="has-editor-video/*" value="false" />
</map>
来自“cooliris”的旧版本 CacheService 的 API 在这里...
我的问题:
我的应用程序做了两件事:
将新电影( mimetype= video/* ,文件扩展名= .3gp )插入 /mnt/sdcard/Movies
依赖于“刷新”版本的 Gallery3D 缩略图,以便向(G+、Youtube 等)提供完整的共享上下文
问题是画廊缓存在重新启动之前不会刷新
在我的应用程序将电影插入到手机上存储电影的目录后,我无法找到一种方法在画廊应用程序中获取新插入电影的缩略图以在合理的间隔内显示。我不相信我需要实现自己的缓存。我只想找到会强制 Gallery3D 应用程序刷新自己的缓存的界面或首选项切换。缓存刷新将新电影的拇指放入正常的画廊列表中。使用刷新后的新拇指,用户拥有新电影的完整社交共享菜单。如果没有缓存刷新,Gallery 应用程序中没有 THUMBNAIL,并且我的应用程序中项目的 mime/类型的本地上下文菜单(视频/*、.3gp)不包括 G+、youtube 等。请参见下图画廊的理想状态' s 刷新后的操作栏上下文菜单。请注意,在刷新之前,G+ 和 Youtube 不在我的应用程序中电影项目的上下文菜单中,并且该项目的 Thumb 还没有在画廊应用程序中。令人沮丧的是,如果您等待的时间足够长,则拇指总是会出现在 Gallery 应用程序中。
我尝试切换 SYNC 的 Google 帐户数据设置。
我已经尝试手动编辑“缓存最新”的画廊首选项,将其设置为 false。
我没有尝试从我的第三方应用程序请求 Gallery3D.CacheService 的意图。那会是……
Intent i = new Intent();
i.setClassName("CacheService", "com.google.android.cache.CacheService"); (pkg , class)
startService(i);
但是,我没有实现的确切类名,所以我不能确定从我的应用程序中请求那个 service.intent,我认为我在重启后浏览 logcat 时看不到它?我可以记录应用程序的cooliris 源版本,但我认为此时这不是很好,因为JB 已经重构了com.google.android 版本。
重新启动/刷新后的缩略图中包含 G+、Youtube、完整社交的所需上下文...