【发布时间】:2012-02-02 17:11:38
【问题描述】:
我想在每次将专辑添加到 Android MediaStore 数据库时运行一些代码。我想我需要为一个意图注册我的应用程序,但不确定是哪一个。有人知道吗?
【问题讨论】:
标签: android android-intent intentfilter
我想在每次将专辑添加到 Android MediaStore 数据库时运行一些代码。我想我需要为一个意图注册我的应用程序,但不确定是哪一个。有人知道吗?
【问题讨论】:
标签: android android-intent intentfilter
关闭,但您注册以侦听 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。
我希望这有点用。
【讨论】: