我正在開發一個使用程序包名稱來啓動第三方應用程序的應用程序。我做了一些調查,發現所有的應用程序都可以從啓動器的意圖開始。有沒有人知道如何通過點擊一個按鈕來做到這一點。打開第三方應用程序
回答
你不能真正 '啓動應用程序'。你可以嘗試從第三方應用程序的啓動意圖,如果你知道包名稱:
Intent intent = getPackageManager().getLaunchIntentForPackage("com.thirdparty.package");
startActivity(intent);
應該將標誌設置爲「setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED)」以重新打開已打開的應用程序。 – JacksOnF1re 2016-02-24 13:56:35
只是把它放在一個View.OnClickListener:
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = getPackageManager().getLaunchIntentForPackage(theOtherActivityPackage);
startActivity(intent);
}
});
對於上述接受的答案,如果你的模擬器沒有安裝第三方應用程序,你應該優雅地處理它也。 這裏是一個相同的完整代碼:
public void openThirdPartyApp() {
Intent intent = new Intent("com.thirdparty.package");
intent.setPackage("com.thirdparty.package");
try {
((Activity) context).startActivityForResult(intent, REQUEST_CODE);
} catch (ActivityNotFoundException e) {
downloadIt();
}
}
private void downloadIt() {
Uri uri = Uri.parse("market://search?q=pname:" + "com.thirdparty.package");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
try {
context.startActivity(intent);
} catch (ActivityNotFoundException e) {
//creates a small window to notify there is no app available
}
}
}
}
Good answear,但這不適用於我正在做的事情。我正在使用一個包管理器來獲取包名,然後啓動它。但是這可能會在以後的項目中有用。謝謝你的回答! – Magakahn 2012-05-13 10:46:16
這不起作用...在意圖初始化代碼中:Intent intent = new Intent(「com.thirdparty.package」);應該有一個像「android.intent.action.MAIN」這樣的動作沒有? – syonip 2015-12-16 12:05:15
@syonip,你爲什麼要使用「android.intent.action.MAIN」? – YuDroid 2015-12-16 12:25:15
- 1. 使用Python打開第三方應用程序
- 2. 如何打開第三方應用程序的特定活動
- 3. 從意圖打開第三方應用程序
- 4. 檢查第三方應用程序是否已經打開
- 5. SWTBot - 檢查第三方應用程序是否打開
- 6. 使用第三方應用程序打開優步應用程序,然後回到iOS上的第三方應用程序的可能性
- 7. 無法打開使用第三方應用程序的office文檔
- 8. 使用第三方庫打包C#應用程序?
- 9. UWP應用程序第三方SDK
- 10. 安卓第三方應用程序
- 11. 控制第三方應用程序
- 12. Yammer第三方應用程序訪問
- 13. 第三方HTML5 .HTA應用程序?
- 14. iFrames中的第三方應用程序?
- 15. 啓動第三方應用程序
- 16. Cocos2d-JS +第三方應用程序
- 17. 提交iPhone應用程序,第三方
- 18. 第三方應用程序和skype
- 19. WCF - 第三方應用程序認證
- 20. 可以直接在第三方應用程序(android)上打開短信?
- 21. JAVA:可以檢測到其他正在打開的第三方應用程序
- 22. 檢查第三方應用程序,如果沒有安裝,請打開
- 23. 將Web應用程序與第三方應用程序集成
- 24. 第三方應用程序中的Qt插件應用程序
- 25. 從Wp8應用程序呼叫第三方應用程序
- 26. PHP - 允許第三方開發人員創建應用程序
- 27. Cocoa應用程序第一次打開
- 28. 第三方應用程序「A」如何讓新手iOS設備用戶打開第三方應用程序「B」下載的MP3文件?
- 29. C#Winforms應用程序打開第二個Winforms應用程序
- 30. 引用第三方程序集的COM +(.NET)應用程序
重複http://stackoverflow.com/questions/3422758/start-application-knowing-package-name – Calvin 2012-03-17 18:31:30
這不是重複。我問如何開始它,這個問題是如何找到包名。我已經知道如何找到包名。 – Magakahn 2012-03-17 18:34:07