سؤال

How can I turn off screen in Android from a Service?

I tried with a wakelock (with permission in manifest) but it doesn't work (screen doesn't turn off).

P.S. I don't want to use a dummy activity which set brightness to 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 (e.g., DevicePolicyManager) let you do this (e.g., lockNow()). However, the user has to enable you as a device administrator.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top