Qualcuno sa come andrei a svegliare la schermata di usura? Sto usando l'API di vibrazione con:Android Wear: Sveglia programmabile
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(getResources().getInteger(R.integer.vibration_duration));
che dovrebbe interrompersi dopo 2 secondi (2000 millisecondi). Funziona alla grande se lo schermo è acceso, ma se lo schermo è spento, la vibrazione continuerà fino a quando lo schermo non viene toccato e risvegliato.
Modifica: Ho creato un attacco rapido per farlo funzionare con un timer, ma vorrei essere in grado di interrompere la vibrazione in modo più pulito.
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));
rieditare: Che non funziona ogni volta, soooo sì, essendo in grado di riattivare lo schermo sarebbe la soluzione migliore. Ho fatto in modo che funzionasse usando un pattern invece di inserire la durata direttamente, ma mi piacerebbe comunque sapere come attivare lo schermo in quanto ritengo che questo potrebbe causare più problemi lungo la linea mentre continuo a lavorare con questa piattaforma .
long[] pattern = { 0, getResources().getInteger(R.integer.vibration_duration) };
v.vibrate(pattern, -1);
Ho lo stesso problema con il generatore di notifiche. Nessuna vibrazione fino a quando l'utente non tocca lo schermo. – nicolas