كيفية جعل جهاز Android يهتز بتردد وسعة مختلفين باستخدام Kotlin؟
مرحبًا بالجميع! أطور تطبيق Android باستخدام Kotlin وواجهت مشكلة في التحكم بالاهتزاز. أحتاج إلى أن يهتز الجهاز ليس فقط "تشغيل/إيقاف"، ولكن بتردد وقوة (سعة) مختلفين. على سبيل المثال، للإشعارات — اهتزاز قصير وضعيف، للمنبه — اهتزاز طويل وقوي، وللحدث في اللعبة — اهتزاز نابض مع تصاعد.
حاولت استخدام `Vibrator` القديم عبر `getSystemService`، لكنه يوفر فقط `vibrate(long milliseconds)` — يهتز لمدة محددة دون إمكانية تغيير التردد. سمعت أنه مع API 26 (Android 8) ظهر `VibratorManager` و `VibrationEffect`، لكنني لا أستطيع فهم كيفية إنشاء أنماط معقدة بشكل صحيح.
إليك الكود الحالي الذي يعمل لكنه لا يوفر المرونة المطلوبة:
```kotlin
val vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
if (vibrator.hasVibrator()) {
vibrator.vibrate(500) // يهتز ببساطة لمدة 0.5 ثانية
}
```
أحتاج إلى:
1. الاهتزاز بتردد محدد (مثل 100 هرتز).
2.