[Android] الروبوت: باستخدام ريكستسينليوديت أو استبداله


Answers

أسلوب ريكستسينغلوكاتيون الجديد لمستوى أبي 9. إذا كنت تستهدف مستوى أبي سابق، فلن تكون هذه الطريقة متاحة لك.

واحدة من المشاكل مع الحصول على معلومات الموقع هو أنه يمكن أن يستغرق وقتا طويلا للحصول على الإصلاح. هذا هو أكثر من مشكلة مع مزود موقع غس من مزود الشبكة. إذا كنت تستخدم موفر الشبكة فقط، فقد لا يكون هناك تأخير كبير في الحصول على معلومات الموقع عندما ينقر المستخدم على الزر (أقول هذا لا يعرف شيئا عن ما يفعله تطبيقك مع البيانات، أو نوع تجربة المستخدم تحاول توفير).

شيء آخر يمكنك تجربته هو PASSIVE_PROVIDER . انها تسمح لك للحصول على تحديثات الموقع التي تم طلبها من تطبيقات أخرى. وهذا يعني أن لديك لطلب إذن ACCESS_FINE_LOCATION ومع ذلك. قد تحتاج أيضا إلى ترك شيء قيد التشغيل لتلقي تحديثات الموقع (من المحتمل خدمة أو برودكاستريسيفر ). يجب على نهج برودكاستريسيفر لا تستخدم الكثير من عمر البطارية إضافية لأنه يعمل فقط عندما يتم تلقي النية جنبا إلى جنب مع PASSIVE_PROVIDER فقط الحصول على المواقع عندما طلب بعض التطبيقات الأخرى على أي حال.

نقطة لزجة أخرى مع PASSIVE_PROVIDER هو أنه يجب عليك في نهاية المطاف استدعاء ريموفوبديتس . أين ومتى استدعاء هذا يعتمد حقا على كيفية هيكلة التطبيق الخاص بك وكيفية التعامل مع المستخدم الخروج من التطبيق.

Question

أنا أعمل على التطبيق، والتي يجب الحصول على خطوط الطول والعرض. في حالتي requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener) ليس في الخيار. لماذا ا؟ لأنني يجب أن تحصل على الموقع فقط عندما يفعل المستخدم شيئا هذا الموقع هو مطلوب (دعونا نقول انه يضرب زر). وأنا بحاجة إلى موقع بالضبط في ذلك الوقت، عندما يتم ضرب زر. في requestLocationUpdates ، يمكننا تعيين مينتيمي، إذا وضعت هذا دعونا نقول على 30000 الموقع في "زر ضرب الوقت" لن تكون جيدة كما أريد. من نفس السبب مينديستانس هي أيضا ليست جيدة كما أريد. إذا أنا وندرستانت وظيفة ريكستلوكاتيونوديتس الصحيح عندما يتم تعيين مينتيم و مينديستانس إلى 0، يتم تحديث الموقع في كل وقت. أرجوا أن تصحح لي إذا كنت مخطئا. التطبيق هو للشركة التي أعمل في وهذا التطبيق سوف تستخدم من خلال النهار والليل. لذلك إذا التطبيق سوف تحقق من تحديثات الموقع في كل وقت، فإن البطارية تكون فارغة في كثير من الأحيان. ثست لماذا أنا بحاجة إلى موقع فقط في ذلك الوقت، يتم ضرب هذا الزر. وجدت وظيفة ريكستسينليديدات . ولكن لا أستطيع استخدامه في الكسوف = (مثل أنه غير موجود.
هل هناك طريقة أخرى للقيام بذلك أم أنا في عداد المفقودين شيئا؟