gpt4 book ai didi

android - 如何判断用户是否在设备主屏幕上

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

我有一个应用程序可以显示类似于 Facebook Messenger 应用程序的聊天头像气泡。我希望能够让它只在用户位于主屏幕时出现,而不是在您转到其他应用程序时关注您。无论如何都知道用户什么时候在设备主屏幕上?找不到太多关于此的信息,如果可能的话,任何人都可以指出我正确的方向吗?谢谢

最佳答案

您可以通过使用 Intent.CATEGORY_HOMEIntent.ACTION_MAIN 来获取正在运行的任务并过滤它们:

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1);
ComponentName currentTask = taskInfo.get(0).topActivity;

final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_HOME);
mPackageManager = getPackageManager();

List<ResolveInfo> appList = mPackageManager.queryIntentActivities(mainIntent, 0);
for(int i = 0; i < appList.size(); i++) {
ResolveInfo apl = appList.get(i);
if(currentTask.getPackageName().equals(apl.activityInfo.packageName)) {
Log.e(TAG, "ONHOMESCREEN");
}
}

并将其添加到您的 list 中:

<uses-permission android:name="android.permission.GET_TASKS"/>

关于android - 如何判断用户是否在设备主屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45120913/

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