2016-03-01 51 views
1

目的:機器人:轉屏幕關

在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我寫了更多。 –

回答

2

您可以通過將wake_setting時間設置爲1秒來實現。

我已經嘗試了上述兩種共享方式,通過將wake_setting設置爲1秒來顯示稍微可見的屏幕。我不得不關閉屏幕。爲此,您將添加SETTING_Change權限(僅在根用戶手機中可用)。

+0

謝謝,但在正常的手機有沒有辦法? –

+0

對不起朋友,沒有別的。我已經花了超過3個小時。我會很感激,如果你可以建議我的東西 –

+0

是的,我想。在學習這個主題時,我覺得這個答案可能在內核(android)領域。但是在應用領域也許有一種方法。如果我找到了,我會與你分享。感謝您的關注。 –