机器人:转屏幕关

问题描述:

目的:机器人:转屏幕关

在Android应用

,打开屏幕时关闭用户触摸的按钮。

答案已经存在:

  1. 设置屏幕亮度为零。

    WindowManager.LayoutParams params = getWindow().getAttributes(); 
    params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON; 
    params.screenBrightness = 0; 
    getWindow().setAttributes(params); 
    

    该代码使得屏幕变暗,但不能关闭。

  2. 使用PowerManager.WakeLock

    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag"); 
    wl.acquire(); 
    //..screen will stay on during this section.. 
    //wl.release(); 
    

    此代码保持电话在 'Wake_State'。在以下Table, 'PARTIAL_WAKE_LOCK'看起来关闭屏幕。但它只允许用户亲自关闭屏幕(也许使用电源按钮)。

所以,我希望把屏幕完全关闭不使用“电源按钮”。谢谢阅读。

---加入了我的意图-------------------------

我的用户需要把屏幕关闭,而其他应用程序仍在运行。不要使'POWER_KEY_DOWN(UP)_EVENT'我选择这种方式。我欢迎另一种存档相同目的的方式。

+0

这听起来像病毒类似的应用程序。关闭显示器上的屏幕会触动你的用户...... – Opiatefuchs

+0

也许在根植设备上。 – Shark

+0

@Opiatefuchs我写了更多。 –

您可以通过将wake_setting时间设置为1秒来实现。

我已经尝试了上述两种共享方式,通过将wake_setting设置为1秒来显示稍微可见的屏幕。我不得不关闭屏幕。为此,您将添加SETTING_Change权限(仅在根用户手机中可用)。

+0

谢谢,但在正常的手机有没有办法? –

+0

对不起朋友,没有别的。我已经花了超过3个小时。我会很感激,如果你可以建议我的东西 –

+0

是的,我想。在学习这个主题时,我觉得这个答案可能在内核(android)领域。但是在应用领域也许有一种方法。如果我找到了,我会与你分享。感谢您的关注。 –