2013-10-18 30 views
0

我想讓我的過濾器只傳遞*.pls文件。根據開發人員文檔:http://developer.android.com/guide/topics/manifest/data-element.html它應該工作(我認爲),但它不是。而不是預期的行爲(僅傳遞.pls文件)所有文件類型都被傳遞。android:pathPattern對意圖過濾器行爲沒有影響

<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" /> 
     <data android:mimeType="*/*" /> 
     <data android:pathPattern=".*\\.pls" /> 

</intent-filter> 

回答

0

如果重新閱讀文檔,你會發現有關的android:pathandroid:pathPrefix這一行,和android:pathPattern

這些屬性只有在方案和主機屬性也被指定 有意義爲過濾器。

您錯過了android:host atttribute。添加

<data android:host="*" /> 

到你的意圖過濾器的文檔指定

+0

這不工作時,主機=(空)從谷歌雲端硬盤中打開時的情況;它會導致文件類型不被識別。有沒有人有另一個答案? – NewEndian

+0

從谷歌驅動器,我猜計劃是不是文件,但內容(它使用一個ContentProvider我猜) – Vincent