【问题标题】:Launching unknown activities from an android application从 android 应用程序启动未知活动
【发布时间】:2010-04-05 15:29:00
【问题描述】:

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

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

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

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

谢谢。

【问题讨论】:

    标签: android android-activity launch


    【解决方案1】:

    使用PackageManager 查找已安装的应用程序等。事实上,您会发现this book sample project 可以满足您的需要。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 谢谢克里斯,我去看看链接:)
      猜你喜欢
      • 2016-12-09
      • 2012-06-22
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2017-05-31
      相关资源
      最近更新 更多