2011-04-30 156 views
7

我想知道如何使用包名从我的应用程序启动另一个应用程序。Android - 如何启动包名称的第三方应用程序?

我以字符串格式有包名称,比如

String pkgName = "com.example.appName"; 

这就是为什么我无法提取类名或从中我可以用它来作出适当的意图开始一个活动的任何其他有价值的信息。

任何想法如何解决这个问题。请帮忙!!

谢谢。

回答

17

好吧,你不想获取任何类名。你想要做的是从这个包名中创建一个Intent,其中Activity可以启动(他们需要具有特定的category)。在一个单一的线,你需要做的是:

startActivity(getPackageManager().getLaunchIntentForPackage("com.example.appName")); 

检查PackageManager.getLaunchIntentForPackage的文档。一般来说,PackageManager有很多有趣的启动应用程序的方法。 Here is my blog entry正是为多个包做的。

+0

嘿谢谢你为我解决这个谜题。但是当我尝试你的解决方案时,它给了我NullPointerException。任何想法为什么? – Varundroid 2011-04-30 09:47:58

+0

非常好的博客。我发现为什么它显示我nullpointerexception,因为我试图打开谷歌搜索部件:P ..韦尔感谢您的帮助。 :) – Varundroid 2011-04-30 09:55:11

+0

嘿嘿,我什至没有让它看看那个NullPointerException,你解决了它。 – 2011-04-30 11:06:47

相关问题