Avatar ·

كيفية جعل جهاز 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.