2010-06-24 8 views
6

J'ai en fait une application que je tester avec deux appareils. Un LG GW620, et un Samsung Spica. Je voudrais quand l'utilisateur touche l'écran, l'appareil vibre.Android - Vibreur ne fonctionne pas

En fait, sur le LG GW620, l'appareil vibre lorsque je le touche. Mais sur le spica ne ...

J'ai cherché des paramètres sur le spica, mais le vibrateur est à vérifier, donc je ne comprends pas pourquoi il ne vibre pas.

Dans mon application j'ai: <uses-permission android:name="android.permission.VIBRATE"></uses-permission>

et dans le code:

Vibrator vibrator =(Vibrator)getSystemService(Context.VIBRATOR_SERVICE); 
      vibrator.vibrate(100); 

Mais je pense que ce n'est pas la meilleure chose à faire. Je souhaite que l'appareil vibre à chaque clic, mais je ne sais pas si je dois faire un vibrateur pour chaque OnClick? Ou si je pouvais faire un seul vibrateur pour toute l'application?
Et surtout pourquoi ça ne marche pas sur Spica?

+14

C'est le meilleur titre de question que j'ai vu sur Stack Overflow. La comédie! – theorise

+2

Je suis français, je viens de mettre "Vibrateur" car il appelle comme ça sous Android ... mais je vois juste que le vibrateur a un double sens <_ < – Nanis

+5

Votre utilisation est correcte, mais cela a en effet un double sens (au moins en Amérique). Je ne m'inquiéterais pas, la question elle-même est claire. – Chimmy

Répondre

4

Drôle. Dans votre onClick pour le bouton, vous devriez mettre le vibreur. Et comme c'est en millisecondes, je mettrais quelque chose comme 500 pendant une demi-seconde au lieu de 0,1 seconde.

void onCreate() { 

    mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 

    Button b = (Button) findViewById(R.id.button); 
    b.setOnClickListener(new View.OnClickListener() { 
     void onClick() { 
      mVibrator.vibrate(500); 
     } 
    }); 
} 
+0

ok, donc je dois le faire pour chaque boutons/ImageView de mon application? Il n'y a pas d'autre moyen ? Parce que j'ai 30 ou 40 boutons sur mon application, donc ce sera très long. – Nanis

+1

Si vous utilisez le 1.6 SDK (version 4), Views peut avoir une méthode onClick définie dans le fichier XML. Donc, pour chaque bouton, vous pouvez définir onClick, et dans votre activité, la méthode doit avoir une correspondance de correspondance surClick (View v), où v sera le bouton cliqué. Pour chaque jeu de boutons android: onClick = "onClick" où onClick est le nom de la méthode onClick dans votre Activity. http://developer.android.com/reference/android/R.attr.html#onClick –

+0

Merci beaucoup pour votre réponse. Avez-vous une idée pourquoi Spica ne vibre pas alors que LG GW620? – Nanis

0

Presque toutes les solutions sur internet semblent manquer quelque chose. . (contexte) heres une solution de travail . . .

Vibrator v = (Vibrator) getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE); 
    v.vibrate(100);