2010-05-13 140 views
0

我想在我的清單文件中定義兩個不同的文件擴展名映射和兩個不同的MIME類型的IntentFilters,但我似乎無法讓他們都工作;一個可以工作,另一個不可以,等等。在AndroidManifest.xml中定義多個mime類型和文件擴展名(pathPattern)映射?

如何在清單中定義多個pathPatterns?應該/可以在單個IntentFilter中定義所有mime-types和pathPatterns?他們應該是不同的過濾器?我找不到任何顯示多個不同映射的示例。

+0

對此的最佳資源將是Android源代碼。將Google代碼搜索與package:android'限定符一起使用,然後搜索pathPattern,並查看它們是如何使用它的。 – CommonsWare 2010-05-13 16:30:21

回答

0

我決定將類似的定義分組到不同的意圖過濾器中。例如,將具有不同方案(http,https,文件)的相同pathPattern分組到一個Intent Filter中,併爲具有相同方案集的不同PathPattern定義另一個Intent Filter。我還沒有遇到任何關於這方面的具體指導方針或文件,所以我用我自己的審美偏好去了。

我的困難的來源似乎是pathPattern的有限功能。在看到文檔中的.*解釋之後,我希望pathPattern會接受其他正則表達式語法,但在實踐中看來,.*確實是任何類型靈活性的唯一選擇。

此外,經常引用的定義文件類型過濾器的方法有一個缺陷/限制,我一直無法找到解決辦法或解釋:pathPattern=".*\\.xyz"將適用於「MyFile.xyz」,但不適用於「My.File.xyz」。我已經從posted another question關於這個特定的問題。

相關問題