اختبار سلوك إذن الوصول إلى الحزمة

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

يقدِّم هذا الدليل أيضًا بعض الاقتراحات حول كيفية اختبار التغييرات في السلوك ويساعدك في ضبط رسائل السجلّ لتحديد كيفية تأثر تطبيقك بمستوى أكثر دقة.

اختبار التغييرات في السلوك

لاختبار ما إذا كان هذا التغيير في السلوك يؤثر في تطبيقك، أكمِل الخطوات التالية:

  1. تثبيت Android Studio 3.6.1 أو إصدار أحدث.
  2. ثبِّت أحدث إصدار من تطبيق Gradle المتوافق مع "استوديو Android".
  3. يجب ضبط targetSdkVersion في تطبيقك على 30 أو على قيمة أعلى.
  4. لا تضمِّن العنصر <queries> في ملف البيان لتطبيقك.
  5. الاتصال بـ getInstalledApplications() أو getInstalledPackages() كلتا الطريقتين تعرض قائمة تمت تصفيتها عندما تكون ناجحة.
  6. راجِع ميزات تطبيقك التي لا تعمل.
  7. أدخِل إدخالات <queries> المناسبة لإصلاح تلك الميزات.

ضبط رسائل السجلّ لفلترة الحزم

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

adb shell pm log-visibility --enable PACKAGE_NAME

بعد ذلك، عندما تتم فلترة الحِزَم خارج القيم المعروضة للكائن PackageManager، ستظهر لك رسالة مشابهة لما يلي في Logcat:

I/AppsFilter: interaction: PackageSetting{7654321 \
  com.example.myapp/12345} -> PackageSetting{...} BLOCKED