自从首次为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没有找到你的活动?如果是这样,我会假设Drive正在通过“ContentProvider”和“content”方案来提供文件。 – CommonsWare
是的,信息来自Drive应用程序,这是进行文件选择的地方。 – gordonwd
驱动器不再支持file:// uris。 请参阅此处:http://stackoverflow.com/questions/35351652/why-doesnt-the-google-drive-app-on-android-send-file-uris-anymore。 – Anatoli