使用 StreamProvider 在消息传递中共享多个图像时出现异常

Exception when sharing multiple images in messaging using StreamProvider

我使用 StreamProvider 将图像提供给其他应用程序。 一切正常,除了一种情况:当我尝试在我的三星 S6 设备 Android 5.1.1 上将多个图像共享到消息传递应用程序时,消息传递应用程序崩溃并显示这些日志:

Process: com.android.mms, PID: 31790
java.lang.IllegalArgumentException: column 'mime_type' does not exist
  at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:303)
  at android.database.CursorWrapper.getColumnIndexOrThrow(CursorWrapper.java:78)
  at com.android.mms.ui.aif.a(MessageUtils.java:8184)
  at com.android.mms.util.cf.run(HandleComposerAttachment.java:3251)
  at java.lang.Thread.run(Thread.java:818)

显然底层游标不提供 mime_type 列。 我不确定我必须做什么才能正确添加此列支持。

附加信息:

I'm not sure what I have to do to correctly add this column support.

你不能,除非你自己滚动 ContentProvider。我必须调整 LegacyCompatCursorWrapper 来处理三星的错误。接收 content:// Uri 值的应用程序不应假定 query() 上存在 mime_type 列,主要是因为不应该有一个。

::叹息::

您可以跟踪 this issue 此增强功能。我希望在本周末之前完成。