1
我有一个应用程序显示类似于Facebook Messenger应用程序的聊天头泡泡。我希望只有当用户进入主屏幕时才能看到它,而当你转到其他应用程序时,不会跟着你。无论如何要知道用户何时进入设备主屏幕?无法找到关于这方面的很多信息,如果有可能的话,任何人都可以指出我正确的方向吗?谢谢如何判断用户是否在设备主屏幕上
我有一个应用程序显示类似于Facebook Messenger应用程序的聊天头泡泡。我希望只有当用户进入主屏幕时才能看到它,而当你转到其他应用程序时,不会跟着你。无论如何要知道用户何时进入设备主屏幕?无法找到关于这方面的很多信息,如果有可能的话,任何人都可以指出我正确的方向吗?谢谢如何判断用户是否在设备主屏幕上
你可以做到这一点越来越正在运行的任务,并通过使用Intent.CATEGORY_HOME
和Intent.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");
}
}
,并添加到您的清单:
<uses-permission android:name="android.permission.GET_TASKS"/>