2016-04-20 2 views
0

Si l'utilisateur a allumé ou éteint l'écran, je souhaite en informer l'utilisateur par une vibration. Si l'écran est allumé, cela fonctionne bien:Android Vibration pendant le verrouillage/veille

Vibrator vibrator = (Vibrator) getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE); 
          long sleep = 100; 
          long vibrate = 500; 
          long[] vibratePattern = {0, vibrate, sleep, vibrate, sleep}; 
          vibrator.vibrate(vibratePattern, -1); 

Son appelé par un fil qui est mis en œuvre dans un service.

Le fil s'exécute toujours même si l'écran est éteint. Je l'ai vérifié parce que j'implémente une minuterie. Donc, ce ne peut pas être le problème!

+3

"Le fil s'exécute toujours même si l'écran est éteint pendant plusieurs heures si nécessaire" - à moins que vous n'ayez un "WakeLock" partiel. Et, si vous détenez un «WakeLock» partiel «sur plusieurs heures», vos utilisateurs peuvent se fâcher contre vous. – CommonsWare

Répondre

0

Vous ne savez pas si vous avez consulté les notifications d'Android, mais cela semble parfait pour ce que vous essayez d'obtenir.

http://developer.android.com/intl/es/reference/android/app/Notification.Builder.html

lors de la construction d'une notification, vous pouvez faire votre téléphone vibre avec la méthode setVibrate().

+0

mais je ne veux pas montrer une notification. Je veux juste que l'appareil vibre une fois! –

+0

c'est un peu un hack mais vous pourriez peut-être rejeter les notifications par programmation juste après le vibreur en appelant NotificationManager.cancelAll() – kimchibooty