Search code examples
javaandroidkotlinvibrationandroid-vibration

How to make an Android device vibrate? with different frequency?


I wrote an Android application. Now, I want to make the device vibrate when a certain action occurs. How can I do this?


Solution

  • Try:

    import android.os.Vibrator;
    ...
    Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
    // Vibrate for 500 milliseconds
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        v.vibrate(VibrationEffect.createOneShot(500, VibrationEffect.DEFAULT_AMPLITUDE));
    } else {
        //deprecated in API 26 
        v.vibrate(500);
    }
    

    Note:

    Don't forget to include permission in AndroidManifest.xml file:

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