Flutter-geolocator: السماح فقط أثناء استخدام التطبيق في نظام Android 10 بإرجاع GeolocationStatus.denied

تم إنشاؤها على ٣ أكتوبر ٢٠١٩  ·  37تعليقات  ·  مصدر: Baseflow/flutter-geolocator

🐛 تقرير الشوائب

عند تحديد السماح فقط أثناء استخدام التطبيق ، فإن الخيار الجديد في Android 10 Geolocator().checkGeolocationPermissionStatus() يُرجع GeolocationStatus.denied
Screenshot_1570103723

الإصدار: 5.1.4.2

برنامج:
: الروبوت: أندرويد

android in progress

التعليق الأكثر فائدة

لدي نفس المشكلة في حالة استخدام الإصدار 5.1.4 + 1 والترجمة باستخدام SDK 28. إذا قمت بالتجميع على SDK 29 ، فإنه يعمل. يعمل هذا على Pixel 3a يعمل بنظام Android 10.

أستطيع أن أؤكد أن تعيين compileSdkVersion و targetSdkVersion على 29 حل هذه المشكلة.

ال 37 كومينتر

هل يمكن أن تخبرني المزيد عن الكود الذي يقوم بإرجاع GeolocationStatus.denied؟

يمكنني إعادة إنتاجه باستخدام نموذج التطبيق.
فقط جربه باستخدام محاكي android 10.

هل يحل المحاكي خطأ GeolocationStatus.denied؟

لست متأكدًا من أنني أفهم ما تعنيه

هل يمكن أن تخبرني ببعض التفاصيل حول الكود وما الذي تحاول إنشاءه؟ أحاول إعادة إظهار مشكلتك ، لكني بحاجة إلى مزيد من المعلومات.

جرب التطبيق التجريبي على محاكي android مع android 10
untitled

لقد أعدت إنتاج هذه المشكلة وتوصلت إلى استنتاج مفاده أنه تم إيقاف تشغيل إعدادات الموقع من الجهاز. لإصلاح هذه المشكلة ، انتقل إلى الإعدادات > الموقع > استخدام الموقع > تشغيل .

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

untitled

يشير إخراج التطبيق إلى أنك تستخدم FusedLocationProvider. يوصى باستخدام خدمات Google Play الإصدار 11.6.0 أو أعلى ، والذي يتضمن إصلاحات الأخطاء لهذه الفئة.

https://imgur.com/a/egX6z6t

كما ترى أنا أستخدم خدمات google play 19.2.75 والموقع قيد التشغيل

إنه إذن جديد تمامًا في Android 10. لا ينبغي أن يمنحه "مسموح به" أو "مرفوض" لأنه يتطلب فحوصات مختلفة.

https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_BACKGROUND_LOCATION

humazed ما الذي تحاول تحقيقه باستخدام طريقة Geolocator (). checkGeolocationPermissionStatus ()؟ لا أحصل على أي أخطاء إذا قمت بتعيين إعدادات الموقع على "مسموح به طوال الوقت".

أنا أستخدمه للتحقق من الإذن ، وحتى التطبيق التجريبي يستخدمه ولا يعمل.
وتظهر المشكلة فقط عندما تختار السماح فقط أثناء استخدام التطبيق

يوم الخميس 10 أكتوبر 2019 الساعة 10:09 صباحًا Stijn van Woerkom [email protected]
كتب:

humazed https://github.com/humazed ما الذي تحاول تحقيقه
Geolocator (). checkGeolocationPermissionStatus () طريقة؟ أنا لا أحصل على أي منها
أخطاء إذا قمت بتعيين إعدادات الموقع على "مسموح به طوال الوقت".

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/BaseflowIT/flutter-geolocator/issues/334؟email_source=notifications&email_token=ACDNYJTFXDG2QBXZGR24XQTQN3PLPA5CNFSM4I5CDEP2YY3OBVWWK3TUL52S4DFVREX43
أو إلغاء الاشتراك
https://github.com/notifications/unsubscribe-auth/ACDNYJS7PSSNNQPH3S7HBWTQN3PLPANCNFSM4I5CDEPQ
.

@ humazed أعدت إنتاج التطبيق التجريبي في Android 10 الجديد وباستخدام طريقة Geolocator (). checkGeolocationPermissionStatus () واسترجعت 0 أخطاء عندما اخترت السماح فقط أثناء استخدام التطبيق. هل يمكنك إرسال الرمز الخاص بك حتى أتمكن من إلقاء نظرة عليه؟

لقد قمت للتو باستنساخ الريبو وتشغيله دون أي تغييرات

حتى أنني أنشأت محاكيًا جديدًا في حال كان لدى محاكي الحالي مشكلة أو شيء ما ولكني أحصل على نفس السلوك

أعتقد أن المشكلة ستعتمد أكثر على الإعدادات من المحاكي. ينص التطبيق على وجود مشكلات في خدمات Google Play. هل تستخدم شبكة أم أنك في موقع لا يدعم خدمات Google Play؟

لقد حاولت باستخدام محاكي جديد ولكن المشكلة هي نفسها

يعمل التطبيق بشكل جيد مع أي إصدار أقل من android10

في صور gif التي قدمتها ، أعرض إصدار خدمات Google play وتم تمكين الموقع

لدي نفس المشكلة في حالة استخدام الإصدار 5.1.4 + 1 والترجمة باستخدام SDK 28. إذا قمت بالتجميع على SDK 29 ، فإنه يعمل. يعمل هذا على Pixel 3a يعمل بنظام Android 10.

لدي نفس المشكلة في حالة استخدام الإصدار 5.1.4 + 1 والترجمة باستخدام SDK 28. إذا قمت بالتجميع على SDK 29 ، فإنه يعمل. يعمل هذا على Pixel 3a يعمل بنظام Android 10.

أستطيع أن أؤكد أن تعيين compileSdkVersion و targetSdkVersion على 29 حل هذه المشكلة.

لدي نفس المشكلة.

أرى ذلك مع iOS أيضًا. يظهر getCurrentPosition () مربع حوار لتمكين الموقع دائمًا أو تمكين الموقع أثناء استخدام التطبيق أو رفض الوصول إلى الموقع. يؤدي تحديد "التمكين أثناء استخدام التطبيق" إلى استثناء مع ظهور الخطأ "PERMISISON_DENIED"

أنا أستخدم geolocator 5.1.3

تم تكرار خطأ مشابه في Pixel 4.

المشكلة نفسها.
Samsung Galaxy S10 Plus ، عند النقر فوق "الاحتفاظ بالوصول أثناء الاستخدام" ، احصل على PermissionStatus.denied

نحن نعمل حاليًا على إصدار جديد من المكون الإضافي لأذونات الموقع. يتضمن هذا الإصدار الجديد وصولاً محترمًا أثناء الاستخدام ولم يعد يُرجع PermissionStatus.denied.

Urgh - لقد اكتشفت للتو أنني أواجه نفس المشكلة لتطبيق الإنتاج. لقد افترضت بشكل خاطئ أنه عندما يمنح المستخدم أذونات وصول أثناء الاستخدام ، فإن هذه الطريقة ستعيد PermissionStatus.granted - لذلك لم يعد بإمكاني الاعتماد على هذا على ما يبدو.

تحرير: بعد ساعتين ، اقرأ بقية سلسلة الرسائل وأدركت أن اقتراح "يمكنني أن أؤكد أن إعداد compileSdkVersion و targetSdkVersion إلى 29 حل هذه المشكلة." يعمل.

"يمكنني أن أؤكد أن إعداد compileSdkVersion و targetSdkVersion إلى 29 حل هذه المشكلة." حل المشكلة حتى أضفتها في AndroidManifest.xml

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>

@ JBBx2016 نحن نعمل على أذونات android.permissions.ACCES_BACKGROUND_LOCATION. عندما يتم إصلاح الأذونات ، يمكن أن يحل الخطأ الخاص بك.

أي تحديث؟

أي تحديث؟

أي تحديث

لا يعمل على أجهزة Android 10. : |

كحل مؤقت ، يمكنك استخدام مفترقتي
رئيس الفرع
حيث قمت بنقل عناصر الإذن من location_permissions معطلة بشكل واضح إلى إذن_معالج مكون إضافي آخر

توقف تطبيقي عن العمل بعد PopUp لخدمة Google Play ، وأي شيء أجيب به على الإطلاق "رفض" و "تفويض" وما إلى ذلك باستخدام Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
ومع أفضل أنه يعمل بشكل جيد
Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.best);
Android 10 مع المحاكي ، أحدث رفرفة فرع مستقرة.

Geolocator locator = Geolocator();
    locator
        .checkGeolocationPermissionStatus(
            locationPermission: GeolocationPermission.locationWhenInUse)

تحتاج إلى تمرير إذن في البارامز.
تحديد الموقع الجغرافي

ثابت في الإصدار 6.0.0

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات