在Android中检查一个app是否打开可以通过以下步骤实现:
PackageManager packageManager = getPackageManager();
List<ApplicationInfo> packages = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
List<String> packageNames = new ArrayList<>();
for (ApplicationInfo packageInfo : packages) {
packageNames.add(packageInfo.packageName);
}
String targetPackageName = "com.example.targetapp";
boolean isAppOpen = packageNames.contains(targetPackageName);
这样,通过判断isAppOpen的值,就可以知道应用程序是否打开。
此外,也可以通过Intent来检查应用程序是否打开。首先构建一个Intent对象,指定action为ACTION_MAIN,category为CATEGORY_LAUNCHER,并指定要检查的应用程序包名,然后使用PackageManager的resolveActivity方法来检查是否有能够响应该Intent的组件,如果有,则表示应用程序已打开。可以通过以下代码实现:
String targetPackageName = "com.example.targetapp";
Intent intent = packageManager.getLaunchIntentForPackage(targetPackageName);
boolean isAppOpen = intent != null;
以上方法可以帮助您检查Android中的应用程序是否打开。请注意,这些方法仅适用于已安装的应用程序。如果应用程序未安装,则无法通过以上方法进行检查。
领取专属 10元无门槛券
手把手带您无忧上云