有什麼方法可以加載未在我的應用程序清單中明確定義的已安裝活動?動態加載活動
動態加載活動
回答
當然。你可以啓動「畫廊」挑這樣的照片:從manual
myIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(myIntent, IMAGE_UPLOAD);
,我們發現你可以有2種類型的意圖的來電:
顯式意圖 指定一個 組分(經由 setComponent(組件名稱)或 setClass(上下文,類)),其提供 的確切類中運行。 通常這些信息不會包含任何其他 信息,只是作爲 應用程序啓動各種內部 活動的一種方式,其作爲用戶 與應用程序交互時具有。
沒有指定的部件隱意圖;相反,他們 必須包括 系統確定該 可用組件最好爲目的運行 足夠的信息。
您正在尋找我猜隱含意圖。這解釋了一下下:
意圖解決機制 基本上圍繞匹配的 意圖對所有 描述在 安裝的應用程序包。 (另外, 在廣播的情況下,廣播接收器明確反對任何 與 registerReceiver(廣播接收器, IntentFilter的)。註冊)本 更多細節,可以在文檔中發現 的IntentFilter的類
(emph。mine)。 所以你需要知道某些東西來顯式調用它(比如類名等),或者調用意圖,然後你必須知道意圖過濾器。
我不認爲這是指對某事物只知道包名稱的方法:提個醒,你可以有幾個包,並非所有的活動都有一個應用程序,讓可運行單獨的活動。
正如Nanne所說,您可以通過Intent輕鬆啓動活動。
下面是系統提供的意圖的列表:http://developer.android.com/guide/appendix/g-app-intents.html
這裏是通過第三方應用程序提供意向清單:http://www.openintents.org/en/registry
有什麼辦法來加載安裝的活動,沒有在我的應用程序清單中明確定義?
如果你真的想說:
我的應用程序在運行時創建一個Activity類... ...不知何故並啓動它?
然後答案是否定的。
我沒有,第二個活動只存在於一個單獨的包中。 – Dested 2011-03-14 05:47:21
- 1. 加載活動
- 2. 加載活動
- 3. 添加活動動態
- 4. 動態活動
- 5. 動態JavaScript加載
- 6. 加載JavaScript動態
- 7. 加載庫動態
- 8. 加載動態TreeTable
- 9. 動態加載ResourceDictionnary
- 10. 動態加載jQuery
- 11. 動態加載jquery
- 12. 動態加載類
- 13. .net動態加載
- 14. 動態類加載
- 15. 動態加載ZeroClipboard
- 16. 動態加載DynaTree
- 17. C#動態加載
- 18. 動態加載QTGui
- 19. 動態加載JWplayer
- 20. 動態加載Javascript
- 21. 動態加載mlmodel
- 22. 動態加載XAML
- 23. 動態加載DLL
- 24. 動態加載NIB?
- 25. 動態加載DLL
- 26. 動態加載ResourceDictionary
- 27. 動態加載PDF
- 28. 動態加載assemly
- 29. 動態加載jquery
- 30. 動態加載CSS
如果我沒有在運行時訪問包,該怎麼辦?我試圖做一些像 'Intent intent = getPackageManager()。getLaunchIntentForPackage(「com.something.or.other」); startActivityForResult(intent,0);' – Dested 2011-03-13 09:45:01
如果未安裝應用程序(=包不可用),那麼您無法啓動它,對不對? – 2011-03-13 09:46:37
我不認爲你可以從包名稱開始任何事情。一個軟件包不會與應用程序進行一對一的對話,所以你必須找到這個軟件包的位置,然後從該apk文件中獲取顯示內容......不會看到它發生了:) ..更新了答案。 – Nanne 2011-03-13 09:51:51