【问题标题】:How to open other apps (all) on the smart phone ,from an android app如何在智能手机上打开其他应用程序(全部),从 android 应用程序
【发布时间】:2018-10-10 12:38:00
【问题描述】:

我正在创建一个 android 应用程序,它应该使用语音识别打开移动设备上的任何其他应用程序,例如当用户说“打开 facebook”时,应用程序应该打开 facebook,同样适用于手机上的所有其他应用程序。我可以为少数应用程序执行此操作,但需要一种通用方式,以便可以扩展此功能以打开所有应用程序。 有点像谷歌助手如何为你打开任何应用程序。 我正在使用安卓工作室。 怎么做?

【问题讨论】:

  • “好的谷歌”?问题是您必须创建一个意图将用户发送到另一个应用程序,这会打开一个应用程序选择器(除非用户已经设置了默认应用程序)。不确定是否可以打开特定的应用程序,尝试寻找启动器的工作方式,也许它会为您指明正确的方向。

标签: android


【解决方案1】:

如果你知道应用名称,以及它们的包名称,你可以这样做

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
if (launchIntent != null) { 
    startActivity(launchIntent); //null pointer check in case package name was not found
}

为了获取所有软件包,您可能需要进行一些研究并运行一些服务。也许您可以使用应用统计信息来获得它。

如果有帮助,请检查:

Android, Detect when other apps are launched

【讨论】:

    【解决方案2】:

    使用应用程序的包名打开它。

        Intent startIntent= getPackageManager().getLaunchIntentForPackage("com.package.xyz");
    assert startIntent!=null; // check for null 
                startActivity(startIntent);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-06
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多