2011-08-27 28 views
1

我想啓動一個意圖打開/查看我剛剛創建的PDF。如何控制啓動Intent時顯示的應用程序列表?

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(path, "application/pdf"); 
intent.setData(path); 
this.startActivity(intent); 

這會彈出兩個選項的 「選擇操作」 對話框:

  • Android系統
  • 瀏覽器

如果我選擇Android系統,那麼它會給我另一個對話框,顯示能夠顯示PDF的應用程序列表。

如何跳過第一個對話框,然後右鍵跳到與應用列表對話?

+0

你看過'ACTION_CHOOSER' http://developer.android.com/reference/android/content/Intent.html#ACTION_CHOOSER和/或相關的'Intent.createChooser(...)'方便的方法嗎? – Squonk

+0

所有這一切都帶來了前述的Android系統/瀏覽器選擇器。 –

+1

我想知道是否可能是這種情況,這就是爲什麼我張貼評論而不是答案。順便說一句,我注意到你'setDataAndType(...)'然後調用'setData(...)'。從'setData'的文檔 - 「設置這個意圖的操作數據。這個方法自動清除之前由setType(String)設置的任何類型」。我不知道'code'的清除是否也在你的代碼中發生,並且可能會混淆這個問題? – Squonk

回答

1

試着擺脫setData()電話。這是多餘的,因爲您在setDataAndType()中設置了Uri,並且在setDataAndType()之後通過調用setData()來清除MIME類型。

+0

謝謝,就是這樣。我沒有意識到我仍然從代碼的第一遍中遺留下來。 –

相關問題