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

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

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

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

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

  1. ثبِّت الإصدار 3.6.1 من استوديو Android أو إصدارًا أحدث.
  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