有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在计时器触发后唤醒Android屏幕

我如何让计时器触发一种方法来唤醒安卓设备的屏幕

我插入以下内容:

final Window win = getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
          | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
          | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

进入

@Override
protected void onCreate(Bundle savedInstanceState) {

方法

此外,我在用户单击按钮后制作了一个计时器,该按钮运行以下程序:

final int interval = 3000; // 3 Seconds
Handler handler = new Handler();
Runnable runnable = new Runnable(){
      public void run() {
           Toast.makeText(getApplicationContext(), "Here", Toast.LENGTH_SHORT).show();


                }
            };
handler.postAtTime(runnable, System.currentTimeMillis()+interval);
handler.postDelayed(runnable, interval);

我希望能够单击Android设备的电源按钮,使其在3秒钟的时间间隔内休眠,并在启动run()后将其唤醒。 我要调用什么来触发屏幕打开


共 (2) 个答案

  1. # 1 楼答案

    此方法还会立即打开屏幕:

    PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock TempWakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP, "TempWakeLock");
    TempWakeLock.acquire();
    TempWakeLock.release();
    
  2. # 2 楼答案

    尝试添加到onCreate():

            PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);
            WakeLock wakeLock = pm.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK |    PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "TAG");
            wakeLock.acquire();
    

    要释放屏幕锁定,请执行以下操作:

            KeyguardManager keyguardManager = (KeyguardManager) getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE); 
            KeyguardLock keyguardLock =  keyguardManager.newKeyguardLock("TAG");
            keyguardLock.disableKeyguard();
    

    添加到清单中:

    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />