【发布时间】:2016-02-27 00:03:43
【问题描述】:
自从第一次为 Android 2.3 开发以来,我的应用程序使用了在用户 PC 上生成的 SQLite 文件,它使用以下意图来通知用户已在 Dropbox 或 Drive 中选择了其中一个文件。 (我实际上在清单中有几个类似的意图来支持不同级别的目录层次结构。):
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="file"
android:mimeType="application/octet-stream"
android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.gedstar"
android:host="*" />
</intent-filter>
当应用收到此意图时,它会使用它打开文件并将其复制到主文件存储中自己的特定目录。很久以前,我不记得我从哪里得到这个结构,但到现在它仍然有效。但是,从 Android 6.0 开始,它不再适用于 Google Drive,并且我收到“不支持的文件类型”消息。 Dropbox 还可以。
我假设 Drive 发出的 Intent 最近发生了变化。有谁知道它现在是如何实现的,以便我可以提供正确的意图过滤器?
【问题讨论】:
-
“我收到“不支持的文件类型”消息”——从什么获得?您的意思是云端硬盘找不到您的活动吗?如果是这样,我会假设 Drive 正在转向通过
ContentProvider和content方案提供文件。 -
是的,该消息来自 Drive 应用程序,在该应用程序中进行文件选择。
-
驱动器不再支持 file:// uris。另请参阅:stackoverflow.com/questions/35351652/….
标签: android android-intent google-drive-android-api