عندما يستهدف تطبيق الإصدار 11 من نظام التشغيل Android (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث ويطلب معلومات عن التطبيقات الأخرى المثبّتة على الجهاز، يمحو النظام هذه المعلومات تلقائيًا. يعني سلوك الفلترة هذا أنّ تطبيقك لا يمكنه رصد جميع التطبيقات المثبَّتة على الجهاز، ما يساعد في الحدّ من المعلومات التي يُحتمل أن تكون حسّاسة والتي يمكن لتطبيقك الوصول إليها ولكنّه لا يحتاج إليها لتحقيق حالات الاستخدام.
وتساعد أيضًا إمكانية الوصول إلى الحِزم التي تمّت فلترتها متاجر التطبيقات، مثل Google Play، في تقييم مستوى الخصوصية والأمان الذي يوفّره تطبيقك للمستخدمين. على سبيل المثال، يعتبر Google Play قائمة التطبيقات المثبَّتة بيانات شخصية وحسّاسة تخصّ المستخدمين.
يؤثر مستوى ظهور التطبيق المحدود في النتائج التي تعرضها الطرق التي تقدّم
معلومات عن التطبيقات الأخرى، مثل
queryIntentActivities()
،
getPackageInfo()
،
و
getInstalledApplications()
.
يؤثر مستوى الظهور المحدود أيضًا في التفاعلات الصريحة مع التطبيقات الأخرى، مثل بدء تشغيل خدمة تطبيق آخر.
تكون بعض الحِزم مرئية
تلقائيًا. يمكن لتطبيقك دائمًا اكتشاف هذه الحزم
في استعلامات التطبيقات الأخرى المثبتة. لعرض غيرها من
الحزم، عليك توضيح حاجة تطبيقك إلى إذن الوصول إلى حزم
متعدّدة باستخدام العنصر
<queries>
. تقدّم صفحة حالات الاستخدام أمثلة على كيفية
توسيع إذن الوصول إلى الحزمة بشكل انتقائي. تتيح لك سير العمل الموضّحة هناك
تنفيذ سيناريوهات التفاعل الشائعة مع التطبيقات مع حماية خصوصية المستخدم.
في الحالات النادرة التي لا يوفّر فيها العنصر <queries>
إذن الوصول المناسب للحزمة، يمكنك استخدام إذن QUERY_ALL_PACKAGES
. في حال نشر
تطبيقك على Google Play، يخضع استخدام تطبيقك لهذا الإذن
للموافقة.
تقدّم صفحة اختبار سلوك مستوى ظهور الحِزم اقتراحات حول كيفية اختبار تغييرات السلوك استنادًا إلى مستوى ظهور الحِزم، وذلك عندما يعتمد تطبيقك على التفاعلات مع التطبيقات الأخرى.
مصادر إضافية
لمزيد من المعلومات حول مستوى ظهور الحزمة على Android، يمكنك الاطّلاع على المواد التالية:
مشاركات المدونة
- مستوى ظهور الحزمة في Android 11، متاح على Medium