2016-02-27 58 views
0

自從首次爲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最近已更改。有誰知道它是如何實現的,所以我可以提供正確的意圖過濾器?

+1

「我得到一個」不支持的文件類型「消息」 - 從什麼?你的意思是說Drive沒有找到你的活動?如果是這樣,我會假設Drive正在通過「ContentProvider」和「content」方案來提供文件。 – CommonsWare

+0

是的,信息來自Drive應用程序,這是進行文件選擇的地方。 – gordonwd

+0

驅動器不再支持file:// uris。 請參閱此處:http://stackoverflow.com/questions/35351652/why-doesnt-the-google-drive-app-on-android-send-file-uris-anymore。 – Anatoli

回答

0

我發現叫意圖攔截一個應用程序,讓我做什麼顧名思義:攔截在雲端硬盤應用中選擇我的文件時,該驅動器的問題的意圖。根據其他雲端硬盤文檔,這並不是我所期望的,但至少我現在已經弄清楚了這一部分,並且可以獲得一個可以使用的內容URI。

+0

我還能夠弄清楚如何使用內容URI來正確傳輸數據。 – gordonwd

相關問題