gpt4 book ai didi

Android 检查只有桌面正在运行

转载 作者:行者123 更新时间:2023-11-30 02:30:45 27 4
gpt4 key购买 nike

我正在编写简单的短信管理器,我的应用程序可以像 GoSMS 一样查看接收新短信的对话框,现在我想在其他应用程序运行时禁用它,并且我想在没有程序打开且启动器处于打开状态时查看此对话框积极的。我可以使用下面的代码来检测它,但是如果用户安装了任何启动器,我怎么知道。

    ActivityManager am = (ActivityManager) G.context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
String currentRunningActivityName = taskInfo.get(0).topActivity.getClassName();
Log.i(TAG, currentRunningActivityName);
if (currentRunningActivityName.equals("com.android.launcher2.Launcher")) {
///do your task
}

最佳答案

您可以使用此代码段,此方法可以找到所有启动器,如果返回 true,则桌面的启动器默认运行:

public static Boolean isHomeScreen() {
ActivityManager am = (ActivityManager) G.context.getSystemService( Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
String currentActivity = taskInfo.get(0).topActivity.getClassName();

PackageManager pm = G.context.getPackageManager();
Intent homeIntent = new Intent(Intent.ACTION_MAIN, null);
homeIntent.addCategory(Intent.CATEGORY_DEFAULT);
homeIntent.addCategory(Intent.CATEGORY_HOME);
homeIntent.addCategory(Intent.CATEGORY_MONKEY);
List<ResolveInfo> appList = pm.queryIntentActivities(homeIntent, 0);
for (ResolveInfo temp: appList) {
if (temp.activityInfo.name.equals(currentActivity))
return true;
}
return false;
}

关于Android 检查只有桌面正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27373761/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com