【发布时间】:2012-04-16 11:25:31
【问题描述】:
public class myReceiver extends BroadcastReceiver {
public static boolean wasScreenOn = true;
@Override
public void onReceive(final Context context, Intent recievedIntent) {
if (recievedIntent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
wasScreenOn = false;
Intent intent = new Intent(context,
myActivity.class);
intent.setAction(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
context.startActivity(intent
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
} else if (recievedIntent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
wasScreenOn = true;
}
}
}
action screen on 被调用后的activity显示。
myActivity.class
使用 KeyguardManager 禁用Keyguard 并启动服务。在服务中注册接收器。现在当用户关闭设备然后调用 ACTION_SCREEN_OFF 并且当点击主页按钮然后调用 ACTION_SCREEN_ON 但是当我多次按下主页按钮时会出现问题。
【问题讨论】:
-
信息不足,请详细说明。
-
@khushi:感谢更新。您尝试使用
ACTION_USER_PRESENT而不是ACTION_SCREEN_ON吗? -
ACTION_USER_PRESENT 和 ACTION_SCREEN_ON 有什么不同,我尝试了 ACTION_USER_PRESENT 但没有任何效果。
-
@khushi :
ACTION_USER_PRESENT仅在设备唤醒一次后触发动作 -
好的。但在我的情况下,我的应用程序运行完美,但是当我多次按下主页按钮时会出现问题。当我多次按下主页按钮时,然后当关闭屏幕并启动屏幕按下主页按钮然后首先显示主屏幕,然后是我的应用程序。
标签: android