首先,Android中的“应用程序”概念是一个扩展的概念。
应用程序-从技术上讲是一个过程-可以具有多个活动,服务,内容提供者和/或广播侦听器。如果其中至少有一个正在运行,则说明应用程序已启动并正在运行(该过程)。
因此,您需要确定的是如何“启动应用程序”。
好的…这是您可以尝试的方法:
- 用action=MAIN和创建一个意图category=LAUNCHER
PackageManager
使用当前上下文获取context.getPackageManager
packageManager.queryIntentActivity(<intent>
, 0)有意图的地方category=LAUNCHER,action=MAIN
或packageManager.resolveActivity(<intent>, 0)与main / launcher
一起进行第一次活动- 获得
ActivityInfo
您感兴趣的 - 从中
ActivityInfo
获得packageName
和name
- 最后,创建另一个意图用
category=LAUNCHER,action=MAIN,componentName = new ComponentName(packageName, name)和setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
- 最后,
context.startActivity(newIntent)



