我想啓動一個特定的應用程序。 我知道如何做意向,但我想避免選擇菜單,如果有多個應用程序可以處理意圖,我想直接去一個特定的應用程序。希望這是有道理的。如何以編程方式在Android中啓動特定的應用程序?
27
A
回答
23
您直接使用包名/類,例如創建一個新的意圖打電話給你使用twidroid程序如下link text:
Intent intent = new Intent("com.twidroid.SendTweet");
你可能會想要把一個try /在應用程序未安裝時抓住ActivityNotFoundException。
+4
方法如果發生時,您可以拋出異常並在GooglePlay上打開應用程序。 ;) – 2014-02-25 13:40:41
8
Intent intent = new Intent();
intent.setClassName("package.name", "package.name.LauncherActivityName");
startActivityForResult(intent,REQUEST_CODE);
3
您所調用的活動不僅會出現在其自己的包中的Manifest中,而且還會出現在CALLING包的Manifest中。 - 別忘了!
44
您應該使用包管理器的功能。
Context ctx=this; // or you can replace **'this'** with your **ActivityName.this**
try {
Intent i = ctx.getPackageManager().getLaunchIntentForPackage("com.twidroid.SendTweet");
ctx.startActivity(i);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
}
3
我用:
try {
Intent intent = new Intent();
intent.setClassName("package.name", "<your_package_name>");
startActivity(intent);
} catch (NameNotFoundException e) {
Log.e(TAG, e.getMessage());
}
但像卡米認爲這將工作太:
try {
Intent i = ctx.getPackageManager().getLaunchIntentForPackage("com.twidroid.SendTweet");
ctx.startActivity(i);
} catch (NameNotFoundException e) {
Log.e(TAG, e.getMessage());
}
1
在onCreate方法調用
=> openApp();
private void openApp() {
String packageName = "com.google.android.gm";
if (isAppInstalled(activity, packageName))
startActivity(getPackageManager().getLaunchIntentForPackage(packageName));
else Toast.makeText(activity, "App not installed", Toast.LENGTH_SHORT).show();
}
public static boolean isAppInstalled(Activity activity, String packageName) {
PackageManager pm = activity.getPackageManager();
try {
pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
return true;
} catch (PackageManager.NameNotFoundException e) {
}
return false;
}
+0
非常感謝gmail! – 2018-02-08 10:16:04
相關問題
- 1. 如何以編程方式在Android中啓動特定主頁
- 2. 如何以編程方式啓動JNLP應用程序?
- 3. 如何以編程方式啓動掛架Web應用程序?
- 4. 如何以編程方式啓動應用程序?
- 5. 如何以編程方式啓動Facebook應用程序?
- 6. 以編程方式啓動啓動程序選擇/ Android
- 7. 如何以編程方式確定Android中當前活動的應用程序
- 8. 如何以編程方式啓動android應用程序信息屏幕?
- 9. 如何以編程方式重新啓動java web啓動應用程序
- 10. 如何在Android中以編程方式啓用動畫
- 11. 如何以編程方式啓用和禁用USB在Android應用程序
- 12. 如何以特定方向啓動應用程序?
- 13. 如何在Android中崩潰時以編程方式重新啓動/重新啓動應用程序?
- 14. 如何在Android中以編程方式禁用特定應用程序的振動
- 15. 如何以編程方式重新啓動iOS中的iPhone應用程序
- 16. 如何在android上以編程方式備份應用程序
- 17. 如何在android中以編程方式添加應用程序快捷方式
- 18. 如何在Android中以編程方式啓動主屏幕
- 19. 以編程方式重新啓動應用程序?
- 20. 以編程方式啓動Windows metro應用程序
- 21. 以編程方式啓動應用程序
- 22. 以編程方式重新啓動應用程序崩潰
- 23. 如何以編程方式啓動PhoneStateListener?
- 24. 如何以編程方式啓動.pdf?
- 25. 如何以編程方式啓動Django
- 26. 如何以編程方式在Android啓動器的主屏幕上爲特定頁面編寫快捷方式?
- 27. 如何以編程方式強制停止應用程序 - Android
- 28. 如何以編程方式重命名Android應用程序?
- 29. 如何以編程方式崩潰Android應用程序?
的[打開我們的應用程序的另一個一個應用?]可能重複(http://stackoverflow.com/questions/3342655/open-another-one-application-from-our-application) – Pentium10 2010-07-27 12:19:34