0

这是我的场景:

我需要在屏幕打开时启动一项活动,没问题,只是它运行缓慢(至少需要一秒钟)。

所以我所做的是在屏幕消失时启动活动,然后等到用户转动他的屏幕。

现在我的问题是活动打开了锁定屏幕,这是我想要的,但是当屏幕消失时它会发出解锁声音。有没有可能取消声音?或者也许在屏幕工作时更快地激活?

4

2 回答 2

0

onPause() 和 onResume() 方法在应用程序进入后台并再次进入前台时调用,因此只需在 onPause() 中调用以下函数。

public static boolean isApplicationSentToBackground(final Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
  ComponentName topActivity = tasks.get(0).topActivity;
  if (!topActivity.getPackageName().equals(context.getPackageName())) {
    return true;
  }
}

return false;
}

使用权限 android:name="android.permission.GET_TASKS"

您必须将此权限添加到android清单文件

于 2012-08-19T08:36:52.210 回答
-2

您可以将 ACTION_SCREEN_ON 和 ACTION_SCREEN_OFF 意图用于屏幕关闭和屏幕打开情况。以下链接将使您对此有更多了解

http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/

于 2012-08-19T08:42:56.330 回答