Android Wear:编程唤醒屏幕

Android Wear:编程唤醒屏幕,android,wear-os,Android,Wear Os,有人知道我会怎么叫醒屏幕吗?我正在使用以下工具运行振动API: Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); v.vibrate( getResources().getInteger( R.integer.vibration_duration ) ); 在2秒(2000毫秒)后应停止。如果屏幕处于打开状态,这非常有效,但如果屏幕处于关闭状态,则振动将持续,直到触摸并唤醒屏幕 编辑: 我确实做了一个快速破解

有人知道我会怎么叫醒屏幕吗?我正在使用以下工具运行振动API:

Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate( getResources().getInteger( R.integer.vibration_duration ) );
在2秒(2000毫秒)后应停止。如果屏幕处于打开状态,这非常有效,但如果屏幕处于关闭状态,则振动将持续,直到触摸并唤醒屏幕

编辑: 我确实做了一个快速破解,使它与计时器一起工作,但我希望能够以更干净的方式停止振动

    final Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
    v.vibrate( getResources().getInteger( R.integer.vibration_duration ) );
    Timer timer = new Timer();
    timer.schedule( new TimerTask() {
        @Override
        public void run() {
            v.cancel();
        }
    }, getResources().getInteger( R.integer.vibration_duration ) );
Reedit:这不是每次都有效,所以是的,能够唤醒屏幕是最好的选择。我确实是通过使用模式而不是直接输入持续时间来实现的,但我仍然想知道如何激活屏幕,因为我觉得随着我继续使用这个平台,这可能会导致更多问题

    long[] pattern = { 0, getResources().getInteger( R.integer.vibration_duration ) };
    v.vibrate( pattern, -1 );

使用NotificationCompat.Builder为应用程序创建通知并包含振动模式。这应该会随着您的通知唤醒屏幕(对于用户来说仍然会振动)。可穿戴设备在返回睡眠状态方面表现得非常积极,特别是当用户没有与之交互时,因此这可能是最简单的方法。

我刚刚花了一段时间试图弄清楚,当我通过可穿戴ListenerService远程启动手表上的活动时,如何唤醒手表。我发现在我的G手表R上完美工作的是


我对notification builder也有同样的问题。在用户触摸屏幕之前,无振动。
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);