Android Wear:编程唤醒屏幕
有人知道我会怎么叫醒屏幕吗?我正在使用以下工具运行振动API: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毫秒)后应停止。如果屏幕处于打开状态,这非常有效,但如果屏幕处于关闭状态,则振动将持续,直到触摸并唤醒屏幕 编辑: 我确实做了一个快速破解
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);