首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android中唤醒屏幕

如何在android中唤醒屏幕
EN

Stack Overflow用户
提问于 2013-04-19 13:59:46
回答 3查看 6.8K关注 0票数 7

嗨,我正在制作一个报警应用程序。当闹钟时间到来时,我会向用户显示一个对话框。但问题是,当对话框出现时,我想获取唤醒锁。就像收到短信时,屏幕就会被唤醒一样。

我试过这个,但不起作用。

代码语言:javascript
复制
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权限。将提供帮助:-)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-19 14:34:32

我可以这样打开屏幕:

代码语言:javascript
复制
wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG");
wl.acquire();

希望这能有所帮助。这对我来说很有效:-)干杯

票数 4
EN

Stack Overflow用户

发布于 2013-04-19 14:12:35

您可以通过两种方式获取唤醒锁

代码语言:javascript
复制
wl.acquire(); or wl.acquire(timeout)

在onResume()中尝试如下所示:

代码语言:javascript
复制
PowerManager pm;
WakeLock wl;

pm = (PowerManager) getSystemService(POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "FlashActivity");
wl.acquire(); Or wl.acquire(timeout)

并且您可以在onPause()中重新释放。这很好。

票数 3
EN

Stack Overflow用户

发布于 2017-01-21 23:56:33

您可以添加一些标志到您的活动,以解锁和唤醒屏幕时,您的活动启动。

代码语言:javascript
复制
@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);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16098179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档