2013-09-08 35 views
7

Tôi đang cố tắt màn hình của mình theo chương trình.Trong Android, làm thế nào tôi có thể tắt màn hình một cách có lập trình?

Các phương pháp sau đây tôi đã cố gắng:

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

Phương pháp nêu trước đó không hoạt động.

này tuy nhiên, hoạt động:

DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); 

mDPM.lockNow(); 

này hoạt động, nhưng tôi đang quay màn hình của tôi tắt khi điện thoại đang đổ chuông, và điều này gây ra chuông ngừng đổ chuông. Giống như khi bạn nhấn nút nguồn.

Vâng, tôi cần có thể tắt màn hình của mình KHÔNG sử dụng phương pháp DevicePolicyManager. Hoặc một cách để thiết lập rằng phương thức DevicePolicyManager sẽ không làm cho thiết bị của tôi bị đổ chuông.

Cảm ơn tất cả!

Trả lời

1

tốt hơn là giảm thời gian chờ màn hình để tắt màn hình. như sau:

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 10); 

10 có nghĩa là 10 ms bạn có thể tự thiết lập!

+0

Điều đó không hoạt động như thể có khóa đánh thức hoạt động sau đó nó sẽ không bao giờ hết giờ. Phương pháp 'DevicePolicyManager' tôi đã đề cập ở trên là cách thích hợp để tắt màn hình, không hoạt động hoàn hảo trong tình huống của tôi. – Seth

+0

nhưng anh ấy không làm việc cho mọi thiết bị. theo ý tưởng của tôi, cách tốt nhất là [ở đây] (http://rdcworld-android.blogspot.in/2012/03/lock-phone-screen-programmtically.html) – M410

+0

Liên kết bạn đăng là chính xác những gì tôi vừa nói .. tôi không hiểu những gì bạn đang cố gắng nói? Miễn là thiết bị của bạn là 2.2 (API 8) hoặc mới hơn, bạn có thể sử dụng 'DevicePolicyManager' và' mDPM.lockNow() 'để tắt màn hình của bạn. – Seth

Các vấn đề liên quan