Q
調用外部應用程序
3
A
回答
1
您可以通過以下方式調用第三方應用程序的活動。
final Intent shazamIntent = new Intent("com.shazam.android");
shazamIntent .setComponent(new ComponentName("com.shazam.android","com.shazam.android.Splash"));
startActivity(shazamIntent);
但是,這不是一個好方法。如果軟件包名稱發生更改(這是一種非常遙遠的可能性)或活動名稱發生更改(Splash
可能更改爲其他內容),則應用程序將中斷。 如果Shazam有一個Intent可以調用開始聽一首歌(使用它)(不知道他們是否有)。
另外,在沒有安裝Shazam的情況下進行必要的檢查,以確保您的呼叫不會崩潰。
1
創建應用程序的啓動器intent對象並說startActivity。
1
專門爲Shazam的,下面的代碼工作:
Intent intent = new Intent("com.shazam.android.intent.actions.START_TAGGING");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if(!context.getPackageManager().queryIntentActivities(intent, 0).isEmpty()) {
context.startActivity(intent);
} else {
// Shazam is not installed
}
START_TAGGING
是當你輕按Shazam的部件,其發出的意圖。
相關問題
- 1. PHP外部程序調用
- 2. 從應用程序外部調用Sparkle更新程序
- 3. UIAlertView外部應用程序
- 4. JDesktopPane外部應用程序?
- 5. 從外部應用程序
- 6. 從外部應用程序
- 7. 如何通過c#應用程序用UI調用外部Windows應用程序?
- 8. 在調用外部應用程序後阻止應用程序關閉
- 9. 如何從我的Codename One應用程序調用外部應用程序
- 10. 使用CMake調用外部程序
- 11. 使用Sencha Cmd應用程序調用外部Web服務
- 12. 如何使用JavaScript從外部調用C#應用程序?
- 13. 從通用Windows應用程序打開外部應用程序
- 14. 如何從外部應用程序調整d3d應用程序的大小。 (C#)
- 15. 使用laravel的外部應用程序
- 16. 用qt關閉外部應用程序
- 17. 從應用程序調用後頂部額外空間
- 18. 如何從外部應用程序調用GwtServiceImpl Servlet?
- 19. 許多調用外部應用程序。如何測試?
- 20. Angular2 - 如何從應用程序外部調用組件功能
- 21. 從外部應用程序調用Worklight適配器
- 22. 從外部API調用數據到Rails 5應用程序
- 23. 從外部應用程序調用Firefox XPCOM?
- 24. 在Django中調用外部應用程序的視圖
- 25. 通過RubyCocoa調用外部應用程序
- 26. 無法從Flex應用程序調用外部servlet的
- 27. 從外部應用程序調用Portlet動作
- 28. Force Apex應用程序可以調用外部Web服務嗎?
- 29. 處理XMLHttpRequest來調用外部應用程序
- 30. 從C#腳本中調用外部應用程序方法
我們無法在清單中添加外部類。 – Eby
您不需要在清單文件中添加外部類。如果您確定該應用程序將可用並已安裝,那麼只需創建一個具有已知類名稱的Intent,然後啓動帶有意圖的startActivity。這是Android上的家庭應用程序如何列出所有已安裝的應用程序,並在您點擊應用程序快捷方式時啓動它們。 – Gopinath
Class shazam = Class.forName(「com.shazam.android」); \t \t Intent intent = new Intent(shaz.this,shazam.getClass()); \t \t startActivity(intent); 是這樣嗎? – Eby