• 21sept

    Utiliser en développement le service vibreur de votre téléphone android dans vos applications



    Dans ce tuto je vais utiliser le service vibreur d’android. Ce service permet de faire vibrer le téléphone. L’application que je vais développer est assez simple. Elle se compose d’un champ de saisie dans lequel je vais saisir le temps de la vibration et un bouton pour lancer la vibration du téléphone.

    D’abord le xml de notre interface

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Temps vidration en seconde"
        />
     
     
    <EditText android:text="EditText01"
    android:id="@+id/EditText01" android:layout_width="wrap_content"
    android:layout_height="wrap_content"></EditText>
    <Button android:text="Button01"
    android:id="@+id/Button01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    </Button>
    </LinearLayout>

    Pour utiliser le vibreur du téléphone, il faut utiliser le service vibrator.Je crée un objet de ce type et je l’instancie avec getSystemService(Context.VIBRATOR_SERVICE).

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    
           public class TestVibrateur extends Activity {
           //objet qui vas utiliser le service vibrator
             Vibrator Levibreur;
    	TextView sContenu;
    	/** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            //intanciation de l'objet levibreur
            Levibreur = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
     
            Button btsauvegarde = (Button) findViewById(R.id.Button01);
            //.setOnCreateContextMenuListener(this);
            btsauvegarde.setOnCreateContextMenuListener(this);
            sContenu = (TextView) findViewById(R.id.EditText01);
           //action sur le clique du bouton
            btsauvegarde.setOnClickListener(new Button.OnClickListener() {
                public void onClick(View v) {
                    //récupération de la valeur taper
                	String nombre = sContenu.getText().toString();
                	//convertion de cette valeur en entier et milisecode
                    int letemp=Integer.parseInt(nombre)*100;
                	//on fait vibrer le téléphone du
                    Levibreur.vibrate(letemp);
    		sContenu.setText("ok");
                }
            });
     
        }

    Il faut également rajouter dans le fichier AndroidManifest la permission android.permission.VIBRATE pour utiliser ce service

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="org.com.testvibrateur"
          android:versionCode="1"
          android:versionName="1.0">
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".TestVibrateur"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
        <uses-sdk android:minSdkVersion="3" />
    <uses-permission android:name="android.permission.VIBRATE"></uses-permission>
    </manifest>

    Cette application ne fonctionne que sur un téléphone, sur l’émulateur je ne pense pas que ce soit possible de le tester.


    Vidéo de formation pour Android

    Guy

    Co-fondateur du site Android france, senior lead developper, passionné de bière et de cigare cubain

    Twitter Google+ 

4 commentaires

Laissez un commentaire

     Vous devez être identifié pour publier un commentaire.
     Connexion - Inscription