在Kotlin中为Android创建振动器

643ylb08  于 2023-01-09  发布在  Kotlin
关注(0)|答案(1)|浏览(241)

我正在尝试给我的Android游戏添加震动效果。我发现了一些看起来可以工作的代码,但是已经弃用了。当前创建和部署震动器的方法是什么?

var vibrator:Vibrator = getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
               vibrator.vibrate(createPredefined(EFFECT_CLICK))
            }else{
                vibrator.vibrate(50)
            }

显示为弃用的部分是“VIBRATOR-SERVICE”和vibration. vibration(50)。

y53ybaqx

y53ybaqx1#

步骤1:向AndroidMenifest.xml添加权限

<uses-permission android:name="android.permission.VIBRATE" />

第二步:您可以使用此功能进行振动。

if (ctx != null) {
    if (Build.VERSION.SDK_INT >= 31) {
        val vibratorManager =
            ctx.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
        val vibrator = vibratorManager.defaultVibrator
        vibrator.vibrate(VibrationEffect.createPredefined(VibrationEffect.EFFECT_CLICK))
    } else {
        val v = ctx.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
        if (Build.VERSION.SDK_INT >= 26) {
            v.vibrate(VibrationEffect.createPredefined(VibrationEffect.EFFECT_CLICK))
        } else {
            v.vibrate(200L)
        }
    }
}

相关问题