2016-04-06 55 views
0

我正在使用下面的代碼將我的應用程序設置爲默認應用程序來打開我的自定義擴展,它工作正常。如何將我的應用程序設置爲特定擴展程序的默認下載程序

這是事情,我的自定義擴展名的文件是可共享的,並且當用戶通過(例如Facebook Messenger)共享它時,用戶首先點擊鏈接,打開提供用戶下載的默認瀏覽器該文件,然後用戶點擊下載的文件以通過我的應用程序打開。

我想要的是讓我的應用程序識別爲這種類型的文件的下載程序,以保存用戶上述所有步驟。

謝謝

<activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:launchMode="singleTask"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 

      <data 
       android:host="*" 
       android:mimeType="*/*" 
       android:pathPattern=".*\\.myextension" 
       android:scheme="file" /> 
     </intent-filter> 
    </activity> 

回答

0

您使用android:scheme="file"。這意味着它是一個本地文件。

如果您正在分享鏈接下載該文件,那麼該鏈接肯定不會以file://開頭。註冊第二個<data>塊,使用android:scheme="https"(和/或http作爲第三個)。

+0

應用程序不共享鏈接,它共享文件本身,但從技術上來說共享的是指向Facebook服務器上的文件的鏈接,以防文件通過信使共享時,我會嘗試您的建議遠。 –

+0

對不起,它沒有工作,它仍然顯示我一個對話框(取消 - 下載),當我選擇下載它打開默認瀏覽器開始下載它。 –

+0

當我通過Facebook Messenger收到帶有自定義擴展名的文件時,我嘗試使用http&https,還有什麼建議嗎?謝謝 –

相關問題