-1

嗨,我需要在应用程序运行时让设备屏幕保持心情舒畅。禁用电源按钮功能以关闭屏幕。我试过以下代码

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);

和唤醒锁

@Override
public void onReceive(Context context, Intent intent) {
       if ((intent.getAction().equals(Intent.ACTION_SCREEN_OFF))) {

            PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
            wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "TEST");
            wakeLock.acquire();

            AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
            Intent inten = new Intent(context,NewActivity.class);
            PendingIntent pi = PendingIntent.getActivity(context, 0, inten, 0);
            alarmMgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,  100, pi);
            }
       }   

 // Finish your WakeLock HERE. call this method after U put the activity in front or when u exit from the new activity.
    public void finishWakeLocker(){
                  if (wakeLock != null) 
                  wakeLock.release();  
    }

提前致谢

4

1 回答 1

1

出于安全原因,这是不可能的。HOME 和 POWER 按钮是两个在没有系统级权限的情况下无法直接覆盖的东西。毕竟,用户不希望你的应用控制他们的设备,不是吗?;-)

您应该以唤醒锁或

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

足够的 :-)

编辑:

有教程,如 one uday 链接,但效果通常不可靠,仅适用于某些设备。我已经开发了一个这样的应用程序并相信我,你不想调试这个;-)

于 2015-11-27T12:12:33.960 回答