Android Vibrator 手机震动
本篇文章主要讲下手机震动.
1: 检测是否支持震动
/**
* @param context
* @return
* 是否支持手机震动
*/
public static boolean hasVibrator(Context context){
Object systemService = context.getSystemService(Context.VIBRATOR_SERVICE);
return systemService !=null;
}
2: 控制手机震动指定时间
public static void noticeVibrator(Context context,long time){
if (!hasVibrator(context)) return;
Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
if (vibrator.hasVibrator()){
vibrator.vibrate(time);
}
}
这里vibrate(long time) 方法需要申请权限:
@RequiresPermission(android.Manifest.permission.VIBRATE)
3: 指定震动模式
/**
* @param context
* 指定的模式震动
*/
public static void noticeVibrator2(Context context){
if (!hasVibrator(context)) return;
Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
if (vibrator.hasVibrator()){
long[] pattern = {0, 1000, 500, 2000}; // 指定震动模式,以毫秒为单位
int repeat = -1; // -1表示不重复,0表示从pattern的第一个元素开始重复
vibrator.vibrate(pattern,repeat);
}
}