没啥好说的,直接上代码
/**
* 震动管理类
* 不要漏了权限android.permission.VIBRATE
*/
public class ShockUtils {
// /**
// * 震动milliseconds毫秒,这个是持续震动,没有停顿
// *
// * @param activity
// * @param milliseconds
// */
// public static void shock(Context activity, long milliseconds) {
// Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
// vib.vibrate(milliseconds);
// }
/**
* 以500,500的频率震动seconds秒
*
* @param context
* @param seconds
*/
public static void shock(Context context, int seconds) {
long[] patter = new long[seconds * 2];
Arrays.fill(patter, 500);
shock(context, patter, -1);
}
/**
* 以500,500的方式无限震动
*
* @param context
*/
public static void shock(Context context) {
long[] patter = {500, 500, 500, 500};
shock(context, patter, 0);
}
/**
* 以pattern[]方式震动
*
* @param context
* @param pattern
* @param repeat -1-一直震 0-震完一组之后再从数组的[0]开始再震一组,无限循环
*/
public static void shock(Context context, long[] pattern, int repeat) {
Vibrator vib = (Vibrator) context.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(pattern, repeat);
}
/**
* 取消震动
*
* @param activity
*/
public static void shockCancel(Context activity) {
Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
vib.cancel();
}
}