您好我正在制作报警应用程序。当闹钟时间到来时我正在向用户显示一个对话框。但问题是我想在对话框出现时获取唤醒锁定。就像短信收到屏幕时醒来一样。
我试过这个但是没有用
public class Alarm extends Activity{
PowerManager pm;
WakeLock wl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
pm = (PowerManager) getSystemService(POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "FlashActivity");
wl.acquire()
showAlarmDialog();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
wl.release();
}
}
我也添加了wakelock权限。帮助将是适当的: - )
答案 0 :(得分:4)
我能够以这种方式转动屏幕:
wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG");
wl.acquire();
希望这个帮助。它为我工作虽然:-)干杯
答案 1 :(得分:3)
您可以通过两种方法获取唤醒锁定
wl.acquire(); or wl.acquire(timeout)
在onResume()中尝试这样的事情:
PowerManager pm;
WakeLock wl;
pm = (PowerManager) getSystemService(POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "FlashActivity");
wl.acquire(); Or wl.acquire(timeout)
你在onPause()中重新定位。那很好。
答案 2 :(得分:1)
您可以在活动中添加一些标记,以便在您的活动开始时解锁并唤醒屏幕。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
}