0

我想制作一个显示应用程序列表(从 android 市场下载)并启动用户选择的应用程序的 android 应用程序。根据我的阅读,我必须使用这样的意图:

  Intent intent = new Intent();
  intent.setClassName(packageName, className);
  startActivity(intent);

我只想能够启动应用程序,而不是他们可以拥有的特定活动。

我的问题是:如果我不知道它们的 packageName 或 className,我该如何启动这些应用程序?或者,如果它是我没有开发的闭源应用程序,我怎么能知道他们的 className 和 packageName。

谢谢。

4

2 回答 2

0

用于PackageManager查找已安装的应用程序等。事实上,您会发现本书的示例项目可以满足您的需要。

于 2010-04-05T15:35:26.470 回答
0

简而言之,你不能。但是,Android 将让您获得已安装软件包的列表以及它们的完全限定类名。查看此链接中的代码以获取有关如何获取此包列表的示例。据我所知,无法确定软件包的安装位置,但您可以将其与设备上预装的已知应用程序列表进行比较,然后将其过滤掉。这个想法是,如果它不是预安装的应用程序,它很可能是通过市场安装的。

于 2010-04-05T15:38:00.230 回答