问题标签 [android-contentresolver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2093 浏览

android - Android:从 sd 卡上的特定位置获取缩略图

AFAIK 通过访问图像MediaStore.Images.Thumbnails缩略图会在第一次尝试时生成缩略图,这就是我需要针对 sd 卡上的特定位置执行的操作。

问题是如何为特定文件夹下的内容创建有效的 URI?

我能找到的所有答案都MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI像 uri to make 一样使用managedQuery。其结果是光标指向所有 sdcard 图像,而无法找到有关如何仅访问特定文件夹的示例。

0 投票
4 回答
16727 浏览

android - Android 创建播放列表

有人知道如何在代码中将播放列表添加到 Android 吗?

我有点明白我必须将它插入到内容解析器中,但我必须只输入歌曲 ID 还是必须输入所有歌曲的数据?

我一直在寻找示例代码,但还没有找到。

编辑:在这里找到答案是我的做法:

0 投票
3 回答
12780 浏览

android - 如何在 android 内容提供程序中存储大 blob?

我有一些需要存储在内容提供商中的大文件(图像和视频)。android文档表明...

如果您要公开太大而无法放入表本身的字节数据(例如大型位图文件),则将数据公开给客户端的字段实际上应该包含一个内容:URI 字符串。这是允许客户端访问数据文件的字段。该记录还应该有另一个名为“_data”的字段,其中列出了该文件在设备上的确切文件路径。此字段不打算由客户端读取,而是由 ContentResolver 读取。客户端将在包含项目 URI 的面向用户的字段上调用 ​​ContentResolver.openInputStream()。ContentResolver 将为该记录请求“_data”字段,并且由于它具有比客户端更高的权限,它应该能够直接访问该文件并将该文件的读取包装返回给客户端。-- http://developer.android.com/guide/topics/providers/content-providers.html#creating

我很难找到一个例子。特别是我希望在 ImageView 上下文中使用位图。考虑以下代码准代码(它不起作用)...

观察/问题...

  1. 如何正确重建存储/恢复的 uri?(它是表中的文字)
  2. setImageURI 实现使用内容解析 openInputStream 所以这应该可以工作。

    --frameworks/base/core/java/android/widget/ImageView.java

我让它工作了。我从 MediaStore 和 MediaProvider 得到了提示。包含数据的文件根据内容提供者(目录)、列名、行 ID 和媒体类型命名。内容解析器然后像这样获取文件描述符......

...内容提供者以实物回应...

0 投票
1 回答
481 浏览

android - 内容服务崩溃

我得到奇怪的例外:

10-31 09:09:51.308:错误/内容服务(59):内容服务崩溃 10-31 09:09:51.308:错误/内容服务(59):java.lang.NullPointerException 10-31 09:09:51.308:错误/ContentService(59): 在 android.content.ContentService$ObserverNode.collectObserversLocked(ContentService.java:620) 10-31 09:09:51.308: 错误/ContentService(59): 在 android.content.ContentService.notifyChange(ContentService. java:134) 10-31 09:09:51.308: ERROR/ContentService(59): at android.content.IContentService$Stub.onTransact(IContentService.java:91) 10-31 09:09:51.308: ERROR/ContentService( 59): 在 android.content.ContentService.onTransact(ContentService.java:83) 10-31 09:09:51.308: 错误/ContentService(59): 在 android.os.Binder.execTransact(Binder.java:288) 10 -31 09:09:51.308:错误/内容服务(59):在 dalvik.system.NativeStart.run(本机方法)

之后 - 只有重新启动模拟器有帮助。有谁知道这是什么?

奥里

0 投票
1 回答
629 浏览

android - 在 sqlite 数据库 Android 的 ContentResolver 中写入二进制数据

我正在阅读一些适用于 Android 的资源,并阅读了以下内容:

当试图在数据库中存储位图(位图)时(uri 是数据库中一行的 URI)。据我了解, openOutputStream 允许将二进制数据存储在数据库中,但只有文件的路径放在数据库中。该文件位于文件系统中的某个位置。它是否正确?我的问题是:以这种方式存储时如何指定文件的确切位置?感谢您的任何澄清。

0 投票
1 回答
756 浏览

android - 我想要来自 android 中 MMS db 的彩信号码、发送/接收、正文和附件详细信息...怎么做?

我正在使用“content://mms”内容解析器并获取 mms 数据库。如何从中获取号码、发送/接收、正文和附件详细信息?

0 投票
2 回答
4505 浏览

android - ContentResolver.insert 返回 null

从活动内部将声音设置为铃声/通知时,我有时会遇到问题:

大多数时候 uri 类似于“content://media/external/audio/media/23”,但有时它为空。我不知道问题出在哪里,音频文件还可以(播放正常),显然插入方法不会抛出任何异常。我查看了文档,但没有关于返回 null 的方法。可能是什么问题呢?

0 投票
2 回答
5450 浏览

android - Creating & using ContentProvider for android

When I call an Android ContentProvider I get the following exception:

java.lang.RuntimeException: Unable to start activity ComponentInfo{de.harm.android.couchone/de.harm.android.couchone.CouchContactClient}: java.lang.IllegalArgumentException: Unknown URL content://de.harm.android.couchone.provider/test2

These are the projects:

Android uses the so-called ContentResolver to communicate with ContentProvider which in turn handles the persistence functionality - accessing the database.

The ContentProvider registers itself with a unique Uri. The ContentResolver calls the ContentProvider with this Uri and passes additional data, like a SQL query string and/or data to be saved.

In the CouchOneProvider/AndroidManifest.xml I have the following:

The Provider uses

and

to process the CONTENT_URI used by the ContentResolver to call the ContentProvider:

  • Am I missing permissions in any of both AndroidManifest.xml?
  • Am I defining the authority in AndroidManifest.xml wrongly?
  • Is the CONTENT_URI wrong?

Update:

I have additional information:

Logcat says:

Failed to find provider info for de.harm.android.couchone.provider

This should be the starting point. But so far I couldn't find any solution.

The fully qualified classname of the ContentProvider implementation is:

In AndroidManifext.xml exactly this is specified as authority, except for the name being to lower case, but this should be fine.

The package name is defined previously in the xml file, so ".Provider" should be ok, too.

As to be seen in the exception, the client calls:

Logcats answer is:

Failed to find provider info for de.harm.android.couchone.provider

I don't see what's missing, perhaps it's Eclipse or emulator problem?

I install the provider as "run project as Android application".

0 投票
1 回答
31502 浏览

android - 列出 Android 中的所有相机图像

如何获取 Android 设备的所有相机图像列表?

是通过 MediaStore 吗?如何?

0 投票
1 回答
2746 浏览

android - ContentResolver 是如何定位到对应的 ContentProvider 的?

这是一个很深奥的问题。我知道对 ContentResolver 方法的调用需要一个特定于 ContentProvider 的 URI,但是 android 实际上是如何建立关联的?

我猜测任何与 AndroidManifest.xml 中 ContentProvider 提供的权限匹配的 URI 都涉及。请求是否发送到包含该权限的每个提供者?如果我尝试创建其权限以另一个权限为前缀的提供者,那会是一个问题吗?

有没有办法查看 ContentProvider 是否正在运行?我在想也许对 getType() 方法的虚拟响应会表明活跃度。