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

    Publié le 21 septembre 2009 par Guy (GuyTouch)


    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.

    Discutez de ce billet sur le forum


  • Wikio - Top des blogs title=


    téléphone portable