网上大多数仅仅只支持安卓版本6.0以下的代码,自己封装了一个震动类 如果取消的话 调用cancalVibrator就好了(该方法一般用不到)
首先要在清单文件下,注册权限:

代码如下:

import android.content.Context;
import android.os.Build;
import android.os.VibrationEffect;
import android.os.Vibrator;

public class VibratorUtil {

    private static Vibrator vibrator;

    public static void startVibrator(Context context) {
        if (vibrator == null) {
            vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
        }
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            //数组的a[0]表示静止的时间,a[1]代表的是震动的时间,然后数组的a[2]表示静止的时间,a[3]代表的是震动的时间……依次类推下去
            vibrator.vibrate(VibrationEffect.createWaveform(new long[]{10, 600}, -1));
        } else {
            vibrator.vibrate(new long[]{10, 600}, -1);
        }

    }

    public static void cancalVibrator() {
        if (vibrator != null) {
            vibrator.cancel();
        }

    }
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐