Sonner et vibrer…

Pour faire vibrer le téléphone :

Grant Vibration Permission

Before you start implementing any vibration code, you have to give your application the permission to vibrate:

<uses-permission android:name="android.permission.VIBRATE"/>

Make sure to include this line in your AndroidManifest.xml file.

Import the Vibration Library

Most IDEs will do this for you, but here is the import statement if yours doesn’t:

import android.os.Vibrator;

Make sure this in the activity where you want the vibration to occur.

How to Vibrate for a Given Time

In most circumstances, you’ll be wanting to vibrate the device for a short, predetermined amount of time. You can achieve this by using the vibrate(long milliseconds) method. Here is a quick example:

// Get instance of Vibrator from current ContextVibrator v =(Vibrator) getSystemService(Context.VIBRATOR_SERVICE);// Vibrate for 400 milliseconds
v.vibrate(400);

That’s it, simple!

How to Vibrate Indefinitely

It may be the case that you want the device to continue vibrating indefinitely. For this, we use the vibrate(long[] pattern, int repeat) method:

// Get instance of Vibrator from current ContextVibrator v =(Vibrator) getSystemService(Context.VIBRATOR_SERVICE);// Start without a delay// Vibrate for 100 milliseconds// Sleep for 1000 millisecondslong[] pattern ={0,100,1000};// The '0' here means to repeat indefinitely// '-1' would play the vibration once
v.vibrate(pattern,0);

When you’re ready to stop the vibration, just call the cancel() method:

v.cancel();

How to use Vibration Patterns

If you want a more bespoke vibration, you can attempt to create your own vibration patterns:

// Get instance of Vibrator from current ContextVibrator v =(Vibrator) getSystemService(Context.VIBRATOR_SERVICE);// Start without a delay// Each element then alternates between vibrate, sleep, vibrate, sleep...long[] pattern ={0,100,1000,300,200,100,500,200,100};// The '-1' here means to vibrate once// '0' would make the pattern vibrate indefinitely
v.vibrate(pattern,-1);

More Complex Vibrations

There are multiple SDKs that offer a more comprehensive range of haptic feedback. One that I use for special effects is Immersion’s Haptic Development Platform for Android.

Troubleshooting

If your device won’t vibrate, first make sure that it can vibrate:

// Get instance of Vibrator from current ContextVibrator v =(Vibrator) getSystemService(Context.VIBRATOR_SERVICE);// Output yes if can vibrate, no otherwiseif(v.hasVibrator()){Log.v("Can Vibrate","YES");}else{Log.v("Can Vibrate","NO");}

Secondly, please ensure that you’ve given your application the permission to vibrate! Refer back to the first point.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Articles récents
Commentaires récents
fatima sur Bienvenue !
AdminDroid sur Bienvenue !
fatima sur Bienvenue !
Archives
Catégories
%d blogueurs aiment cette page :