سؤال

قرأت ذلك في Froyo إذا قمت بتغيير الإعدادات مع setVibrateSettings() لا يتزامن مع إعدادات الاهتزاز. ثم وجدت هذا الحل الذي يستخدمه الناس مع بعض الوظائف في هذا الرابط:

https://android.googlesource.com/platform/packages/apps/settings/+/froyo-release/src/com/android/settings/soundsettings.java

ومع ذلك ، فإن رمز المصدر هناك مكالمتان ل:

 173        boolean vibeInSilent = (Settings.System.getInt(
 174             getContentResolver(),
 175             Settings.System.VIBRATE_IN_SILENT,
 176             1) == 1);

 227        Settings.System.putInt(getContentResolver(),
 228             Settings.System.VIBRATE_IN_SILENT,
 229             vibeInSilent ? 1 : 0);

هذا هو الاختلاف الوحيد في ما أحاول القيام به في الكود لتغيير التسويات الاهتزازية. لكن Settings.System.VIBRATE_IN_SILENT يبدو أنه تمت إزالته في 2.2 ، لذلك عندما أقوم بتغيير الإعدادات الاهتزازية "عادية ، خارج ، فقط في صامتة" ، ثم أذهب إلى إعدادات الصوت وقيمة VIB مختلفة ، وإذا عدت إلى تطبيقي ، فإن إعدادات VIB مختلفة أيضًا إلى ما اخترته من قبل. أيه أفكار؟

هل كانت مفيدة؟

المحلول

جرب الرابط التالي:http://www.kiwidoc.com/java/l/p/android/android/8/p/android.provider/c/settings.system

من ما جربته ، لا يزال الإعداد موجودًا ولكنه لا يعرض كما كان عليه. لا يزال من الممكن تعيينه باستخدام الإعدادات.

أعتقد أنه في يوم من الأيام لن يعمل هذا في يوم من الأيام ، لذا أوصي بحماية الكود الخاص بك بأي طريقة ممكنة (تحقق مما إذا كان الإعداد موجودًا عن طريق الاتصال بـ GetInt أولاً ، أضف Try-Catch ...)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top