Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 检查应用程序是否正在运行-Kotlin_Android_Kotlin - Fatal编程技术网

Android 检查应用程序是否正在运行-Kotlin

Android 检查应用程序是否正在运行-Kotlin,android,kotlin,Android,Kotlin,我想知道某个应用程序(不是我的应用程序。其他应用程序如gmail)是否正在运行。是否可以使用kotlin?肯定。很有可能检测到除您的应用程序之外的其他应用程序是否正在运行。您需要使用来获取信息。您可以使用以下代码段来实现所需的列表: val pm = this.getPackageManager() val intent = Intent(Intent.ACTION_MAIN, null) intent.addCategory(Intent.CATEGORY_LAUNCHER) val li

我想知道某个应用程序(不是我的应用程序。其他应用程序如gmail)是否正在运行。是否可以使用kotlin?

肯定。很有可能检测到除您的应用程序之外的其他应用程序是否正在运行。您需要使用来获取信息。您可以使用以下代码段来实现所需的列表:

val pm = this.getPackageManager()

val intent = Intent(Intent.ACTION_MAIN, null)
intent.addCategory(Intent.CATEGORY_LAUNCHER)

val list = pm.queryIntentActivities(intent, PackageManager.PERMISSION_GRANTED)
for (rInfo in list) {
    Log.w("List of Installed Applications:", rInfo.activityInfo.applicationInfo.loadLabel(pm).toString())
}

如果访问上面提到的链接,您将找到所有可用的嵌套类。例如,要获取正在运行的任务,请使用
RunningAppProcessInfo
like。您还可以检查它是否位于后台、前台等位置。请参考此获取示例代码。

此列表列出了已安装的应用程序,而不是正在运行的应用程序。@Enselic我已经包含了链接,请阅读完整答案,我提供的链接中列出了嵌套类所需的所有信息:例如:
ActivityManager.RunningAppProcessInfo
——您可以检索到的关于正在运行的进程的信息——这些链接表示。还有
ActivityManager.RecentTaskInfo
——您可以检索到有关用户最近启动或访问的任务的信息。根据您的要求,答案中提供的链接中详细记录了所有代码。请再查一下。我刚刚提供了一段代码,可以转换成任何嵌套类来获取相关信息;本网站上的答案必须是独立的。链接仅供参考,不能代替详细的答案。不幸的是,运行AppProcessInfo只能返回我的应用。它不适用于其他应用程序。还有其他解决办法吗?我使用的是AndroidP。以下是您在Java中的实现方式:将代码移植到Kotlin时遇到了哪些具体问题?这应该很简单。