أنور بلكحلاء نشر 8 فبراير 2021 أرسل تقرير نشر 8 فبراير 2021 هل يشرح لنا أحد ما دور : android.location.PROVIDERS_CHANGED في الأندرويد اقتباس
0 Wael Aljamal نشر 8 فبراير 2021 أرسل تقرير نشر 8 فبراير 2021 يعمل android.location.PROVIDERS_CHANGED كمستمع لأحداث تغير حالة مقدم خدمة الموقع، وتكون عادة خدمة GPS. عند تغيير حالة GPS بين تشغيل و إطفاء on / off فهذا يرسل Broadcast للخدمات Services التي تستقبل هذا الحدث. في حال لم يم إعطاء إذن الوصول لخدمة الموقع ربما يظهر رسائل خطأ. Manifest.XML <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ender.projects.receivertest"> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> حتى تعرف من هو التطبيق الذي يظهرها عليك ب Long press on the notification ضغطة طويلة على الإشعار ثم معلومات التطبيق. في حال يظهر لك رسالة خطأ فهذا ربما بسبب debug message من مطور أحد التطبيقات ونسي حذف هذه الجزئية من البرنامج ربما ظهرت من تطبيق قديم تم تحديثه أو بعد تثبيت تطبيق آخر (لإي حال أنت لست مطور إنما مستخدم عادي) مثال: نضيف مستمع لتغير الموقع: <receiver android:name=".GpsLocationReceiver"> <intent-filter> <action android:name="android.location.PROVIDERS_CHANGED" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> و مستمع الأحداث: public class GpsLocationReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().matches("android.location.PROVIDERS_CHANGED")) { Toast.makeText(context, "in android.location.PROVIDERS_CHANGED", Toast.LENGTH_SHORT).show(); Intent pushIntent = new Intent(context, LocalService.class); context.startService(pushIntent); } } } لمعلومات أكثر : LocationManager و الشيفرة من : GitHub، توثيق مفصل من هنا: Broadcast receiver for GPS on android اقتباس
السؤال
أنور بلكحلاء
هل يشرح لنا أحد ما دور :
android.location.PROVIDERS_CHANGED
في الأندرويد
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.