الحصول على تفضيلات نظام Android دون وجود أي سياق

StackOverflow https://stackoverflow.com/questions/1816253

  •  08-07-2019
  •  | 
  •  

سؤال

في فئة ANDROID Attility ، أريد الحصول على قيمة تفضيل النظام في الفصل ، لكن ليس لدي السياق هناك ، لأن الفئة التي تسميها لا تحتوي على السياق أيضًا. لقد وجدت أنه بالنسبة للموارد يمكن للمرء استخدام الثابت Resources.getSystem() وظيفة. هل هناك أي طريقة مماثلة للحصول على تفضيلات النظام بدون سياق؟

صفي ليس نشاطًا ولا خدمة. إنها فئة فائدة. يمكن أن تعطي المزيد من المعلومات إذا لزم الأمر.

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

المحلول

عليك أن ترسل سياقًا - لا تحاول الهرب من مسؤولياتك. :) يجب أن يتم استدعاء فئة الأداة المساعدة الخاصة بك من خلال نشاط أو خدمة على مستوى ما ، وستحصل على تمرير هذا السياق طوال الطريق ، من خلال كل مكالمة طريقة. أعلم أنه أمر مزعج ، اضطررت إلى القيام بأشياء مماثلة بنفسي. ضع في اعتبارك حافزًا للحفاظ على رمزك بسيطًا وتتطلب من عدد قليل من مكالمات الطريقة التي يمكن إنجازها.

نصائح أخرى

أنا استخدم الاختراق التالي: http://www.hasemanonmobile.com/2009/10/05/quick-and-very-dirty-android-development-trick/

في الأساس ، تقوم بتخليص مؤشر السياق كمتغير ثابت داخل نشاطك. أوصي فقط بهذا الاختراق القبيح إذا كنت في موعد نهائي ضيق.

علاوة على ذلك ، إذا كنت تكتب فصلًا فئة فائدة ، فمن المحتمل أن تتطلب (كما تتطلب العديد من أدوات Android) أن يوفر لك تطبيق الاتصال سياقًا كجزء من مُنشرك.

يمكنك إنشاء سياق:

Context myContext = createPackageContext("com.example", 0);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top