android - 如何判断专辑何时添加到 MediaStore

标签 android android-intent intentfilter

我想在每次将相册添加到 Android MediaStore 数据库时运行一些代码。我想我需要注册我的应用程序以获得一个 Intent ,但不确定是哪一个。有人知道吗?

最佳答案

关闭,但您注册以监听 MediaStore 内容 URI 的更改。例如,类似这样的事情可能在服务中实现:

getContentResolver().registerContentObserver(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, true, 
    new ContentObserver(new Handler()) {
        @Override
        public void onChange(boolean selfChange) {
            Log.d("ScratchService","External Media has been added");
            super.onChange(selfChange);
        }
    }
);
getContentResolver().registerContentObserver(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI, true, 
    new ContentObserver(new Handler()) {
        @Override
        public void onChange(boolean selfChange) {
            Log.d("ScratchService","Internal Media has been added");
            super.onChange(selfChange);
        }
    }
);

这只会告诉您 MediaStore 何时发生更改,而不会告诉您添加或删除了哪些内容。为此,您必须查询 MediaStore。

希望这有一些用处。

关于android - 如何判断专辑何时添加到 MediaStore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9116693/

相关文章:

android 6.0.1 强制 wifi 连接无法访问互联网

android - 如何使隐含的 Intent 明确?

android - 在 Android 上将 Chrome 作为 Web 应用程序启动

同一包中两个 Activity 之间的Android链接

android - 此类文件的 jar 属于容器 'Android Dependencies',它不允许对其条目上的源附件进行源修改

java - Eclipse/Java - R.string.* 中的值返回 int?

android - 向数据库中插入数据时 logcat 出错

java - 如何解析从 list 中的 Intent 过滤器接收到的内容数据?

android - 使用 Intent URL 启动 Android 浏览器的私有(private) Activity

android - 单击列表项时播放声音文件