简体   繁体   English

从Android服务关闭屏幕

[英]Turn off screen from Android service

How can I turn off screen in Android from a Service? 如何在Android中通过服务关闭屏幕?

I tried with a wakelock (with permission in manifest) but it doesn't work (screen doesn't turn off). 我尝试了唤醒锁(清单中有许可),但是它不起作用(屏幕无法关闭)。

PS I don't want to use a dummy activity which set brightness to 0. PS我不想使用将亮度设置为0的虚拟活动。

public class Servizio extends Service {


    PowerManager.WakeLock wl;

public class LocalBinder extends Binder {
    Servizio getService() {
        return Servizio.this;
    }
}

private final IBinder mBinder = new LocalBinder();

@Override
public IBinder onBind(Intent arg0) {
    return mBinder;
}

@Override
public void onCreate() {
    super.onCreate();


    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");

    wl.acquire();
    wl.release();

}

@Override
public void onDestroy() {
    super.onDestroy();
}
}

The device admin APIs (eg, DevicePolicyManager ) let you do this (eg, lockNow() ). 设备管理API(例如DevicePolicyManager )使您可以执行此操作(例如lockNow() )。 However, the user has to enable you as a device administrator. 但是,用户必须使您成为设备管理员。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM