我想启动一个特定的应用程序。 我知道如何做意向,但我想避免选择菜单,如果有多个应用程序可以处理意图,我想直接去一个特定的应用程序。希望这是有道理的。如何以编程方式在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