package co.haive.lib.common.util
import android.app.Activity
import android.app.Service
import android.content.Context
import android.content.Context.VIBRATOR_SERVICE
import android.os.Build
import android.os.Vibrator
import android.os.VibratorManager
object VibrateUtils {
//震动milliseconds毫秒
fun vibrate(context: Context, milliseconds: Long) {
val vib = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
val vibratorManager =
context.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
vibratorManager.defaultVibrator
} else {
context.getSystemService(VIBRATOR_SERVICE) as Vibrator
}
vib.vibrate(milliseconds)
}
/**
* 以pattern[]方式震动
* @param repeat -1 不重复 0一直震动
*/
fun vibrate(context: Context, pattern: LongArray, repeat: Int) {
val vib = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
val vibratorManager =
context.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
vibratorManager.defaultVibrator
} else {
context.getSystemService(VIBRATOR_SERVICE) as Vibrator
}
vib.vibrate(pattern, repeat)
}
//取消震动
//取消震动
fun virateCancle(context: Context) {
val vib = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
val vibratorManager =
context.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
vibratorManager.defaultVibrator
} else {
context.getSystemService(VIBRATOR_SERVICE) as Vibrator
}
try {
vib.cancel()
} catch (e: Exception) {
e.printStackTrace()
}
}
}
Android 震动 适配31
最新推荐文章于 2023-05-08 14:04:27 发布