选择文件时来自 Google 驱动器的 Intent
Intent from Google Drive when file is selected
自从首次为 Android 2.3 开发以来,我的应用程序使用了在用户 PC 上生成的 SQLite 文件,它使用以下意图来通知用户选择了其中一个文件在 Dropbox 或云端硬盘中。 (我实际上在清单中有几个类似的意图来支持各种级别的目录层次结构。):
<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>
当应用收到此 Intent 时,它会使用它打开文件并将其复制到主文件存储中自己的特定目录。很久以前,我不记得我从哪里得到这个结构,但直到现在它还在继续工作。但是,从 Android 6.0 开始,它不再适用于 Google 驱动器,我收到一条 "Unsupported file type" 消息。 Dropbox 还可以。
我假设 Drive 发出的 Intent 最近发生了变化。有谁知道它现在是如何实现的,所以我可以提供正确的 intent-filter?
我发现了一个名为 Intent Intercept 的应用程序,它可以让我完全按照名称的含义进行操作:拦截在 Drive 应用程序中选择我的文件时 Drive 发出的 Intent。根据其他 Drive 文档,这根本不是我所期望的,但至少我现在已经弄清楚了那部分,并且可以获得一个内容 URI 来使用。
自从首次为 Android 2.3 开发以来,我的应用程序使用了在用户 PC 上生成的 SQLite 文件,它使用以下意图来通知用户选择了其中一个文件在 Dropbox 或云端硬盘中。 (我实际上在清单中有几个类似的意图来支持各种级别的目录层次结构。):
<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>
当应用收到此 Intent 时,它会使用它打开文件并将其复制到主文件存储中自己的特定目录。很久以前,我不记得我从哪里得到这个结构,但直到现在它还在继续工作。但是,从 Android 6.0 开始,它不再适用于 Google 驱动器,我收到一条 "Unsupported file type" 消息。 Dropbox 还可以。
我假设 Drive 发出的 Intent 最近发生了变化。有谁知道它现在是如何实现的,所以我可以提供正确的 intent-filter?
我发现了一个名为 Intent Intercept 的应用程序,它可以让我完全按照名称的含义进行操作:拦截在 Drive 应用程序中选择我的文件时 Drive 发出的 Intent。根据其他 Drive 文档,这根本不是我所期望的,但至少我现在已经弄清楚了那部分,并且可以获得一个内容 URI 来使用。