我正试图用PowerManager唤醒android手机。然而,SCREEN_DIM_WAKE_LOCK似乎不受欢迎

我正试图用PowerManager唤醒android手机。然而,SCREEN_DIM_WAKE_LOCK似乎不受欢迎,android,android-intent,android-activity,wakelock,android-wake-lock,Android,Android Intent,Android Activity,Wakelock,Android Wake Lock,我正试图用PowerManager唤醒android手机。然而,SCREEN_DIM_WAKE_LOCK似乎不受欢迎。有人知道如何以另一种方式处理这个问题吗 public class ShakeToWake extends Activity { BroadcastReceiver mReceiver; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance

我正试图用PowerManager唤醒android手机。然而,SCREEN_DIM_WAKE_LOCK似乎不受欢迎。有人知道如何以另一种方式处理这个问题吗

public class ShakeToWake extends Activity {

BroadcastReceiver mReceiver;

@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mReceiver = new BroadcastReceiver() {

            @Override
            public void onReceive(Context context, Intent intent) {
                PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);
                PowerManager.WakeLock mWakeLock = pm.newWakeLock((PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "YourServie");
                mWakeLock.acquire();

                Window window = getWindow();
                window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);

                mWakeLock.release();
            }

        };
    }

}

谷歌的文档告诉你它的替代品——大多数应用程序应该使用FLAG_KEEP_SCREEN_,而不是这种类型的唤醒锁,因为当用户在应用程序之间移动时,它将由平台正确管理,并且不需要特殊许可


我强烈怀疑这种反对是有正当理由的。也许是出于安全原因?或者手机无缘无故地亮起。他们现在用不同的方式来做,仅此而已。它说明了api文档中的替换内容