要在Android中实现振动功能,并且限制振动时间不小于5000毫秒,可以使用以下代码示例:
import android.content.Context;
import android.os.Build;
import android.os.VibrationEffect;
import android.os.Vibrator;
public class VibrationHelper {
private static final int VIBRATION_DURATION = 5000; // 设置振动时长为5000毫秒
public static void vibrate(Context context) {
Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
// 检查设备是否支持振动效果
if (vibrator == null || !vibrator.hasVibrator()) {
return;
}
// 检查Android版本,使用不同的振动效果API
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
VibrationEffect vibrationEffect = VibrationEffect.createOneShot(VIBRATION_DURATION, VibrationEffect.DEFAULT_AMPLITUDE);
vibrator.vibrate(vibrationEffect);
} else {
vibrator.vibrate(VIBRATION_DURATION);
}
}
}
然后,在需要触发振动的地方,调用VibrationHelper.vibrate(context)
方法即可:
VibrationHelper.vibrate(context);
这段代码会触发设备振动,并且振动时间不会小于5000毫秒。请注意,在使用该功能时,需要在AndroidManifest.xml
文件中添加振动的权限: