2010-07-10 3 views
3

J'ai écrit un code qui coupe le téléphone chaque fois qu'un appel entrant est reçu. Lorsque le téléphone en mode vibreur J'utilise le code suivant pour arrêter la vibration du téléphone:android La vibration du téléphone n'arrête pas d'utiliser la méthode d'annulation

Vibrator vib = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); 
vib.cancel(); 

Alors qu'il a travaillé sur mon Nexus One avec Android 2.1, il semble qu'il ne s'arrête pas la vibration sur un HTC Desire combiné avec Android 2.1. Est-ce que quelqu'un a rencontré ce problème?

Doron

Répondre

0

Il semble que la vibration ne s'arrête pas puisque le code de vibration d'arrêt qui est attaché à un récepteur de diffusion d'appel entrant est exécuté dans certains cas avant le début de vibration et donc il semble que la vibration ne s'arrête pas. La solution pour moi était de vérifier si le téléphone vibre et, si c'est le cas, de désactiver la vibration pour désactiver le mode de vibration, ce qui empêche la vibration de démarrer.

0

C'est l'un des inconvénients avec Android, différents dispositifs se comportent différemment. Avez-vous essayé d'utiliser vibrate(3000);, ce qui équivaut à laisser l'appareil vibrer pendant 3 secondes, en essayant d'annuler un service démarré?

+0

alors qu'en est-il lorsque nous implémentons "Pattern-Vibrate" tels que long [] pattern = {0L, 100L, 250L, 1000L, 250L, 500L}; \t \t \t vibrateur.vibrate (motif, 2); Donc "Annuler" devrait être là pour arrêter la vibration –

+0

Je suis d'accord, mais si annuler() ne fonctionne pas sur HTC Desire - alors que pouvez-vous faire d'autre? Également découvert que ce problème n'est pas nouveau pour l'appareil: http://forum.xda-developers.com/showthread.php?t=661702 –

+0

Benny, Merci pour la réponse. J'ai besoin que le téléphone arrête de vibrer lors d'un appel entrant. Comment le faire vibrer pendant 3 secondes m'aide? – DoronBM

Questions connexes