嗨,我正在制作一个报警应用程序。当闹钟时间到来时,我会向用户显示一个对话框。但问题是,当对话框出现时,我想获取唤醒锁。就像收到短信时,屏幕就会被唤醒一样。
我试过这个,但不起作用。
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权限。将提供帮助:-)
发布于 2013-04-19 14:34:32
我可以这样打开屏幕:
wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG");
wl.acquire();希望这能有所帮助。这对我来说很有效:-)干杯
发布于 2013-04-19 14:12:35
您可以通过两种方式获取唤醒锁
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()中重新释放。这很好。
发布于 2017-01-21 23:56:33
您可以添加一些标志到您的活动,以解锁和唤醒屏幕时,您的活动启动。
@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);
}https://stackoverflow.com/questions/16098179
复制相似问题