Avatar ·

如何在Kotlin中让Android设备以不同频率和时长振动?

大家好!我是一名Kotlin的Android开发新手。我正在编写一个简单的闹钟应用,需要添加振动功能。问题在于,我希望振动不是一成不变的,而是变化的:先是短脉冲,然后是长脉冲,频率也不同。该怎么做?

目前我有这样的代码,但它工作得非常简单——只是固定时间开启振动:

class MainActivity : AppCompatActivity() {
    private lateinit var vibrator: Vibrator

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        
        vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
        vibrator.vibrate(1000) // 只是振动1秒
    }
}

我读过关于新API中的VibrationEffect和VibratorManager,但搞糊涂了。有没有办法创建复杂的振动模式?例如,