自從首次爲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