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

إذا كان تطبيقك يعتمد على التفاعلات مع التطبيقات الأخرى لإكمال حالات الاستخدام يكون من المفيد اختبار طريقة ظهور الحزمة التغييرات التي طرأت على نظام التشغيل 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