اگر برنامه شما برای تکمیل موارد استفاده خود به تعامل با سایر برنامه ها متکی است، آزمایش اینکه چگونه تغییرات نمایان بودن بسته در Android 11 (سطح API 30) و بالاتر بر برنامه شما تأثیر می گذارد، مفید است.
این راهنما همچنین پیشنهادهایی در مورد نحوه آزمایش تغییرات رفتاری ارائه میدهد و به شما کمک میکند پیامهای گزارش را پیکربندی کنید تا در سطحی دقیقتر تعیین کنید که چگونه برنامه شما ممکن است تحت تأثیر قرار گیرد.
آزمایش تغییرات رفتاری
برای آزمایش اینکه آیا این تغییر رفتار بر برنامه شما تأثیر میگذارد، مراحل زیر را کامل کنید:
- Android Studio 3.6.1 یا بالاتر را نصب کنید.
- آخرین نسخه Gradle را که اندروید استودیو پشتیبانی می کند را نصب کنید.
-
targetSdkVersion
برنامه خود را روی30
یا بالاتر تنظیم کنید. - عنصر
<queries>
را در فایل مانیفست برنامه خود وارد نکنید. - با
getInstalledApplications()
یاgetInstalledPackages()
تماس بگیرید. هر دو روش پس از موفقیت یک لیست فیلتر شده را برمی گرداند. - ببینید کدام ویژگی های برنامه شما کار نمی کند.
- برای رفع این ویژگی ها، ورودی های
<queries>
مناسب را معرفی کنید.
پیام های گزارش را برای فیلتر کردن بسته پیکربندی کنید
برای کشف جزئیات بیشتر در مورد اینکه چگونه دید پیش فرض برنامه ها بر برنامه شما تأثیر می گذارد، می توانید پیام های گزارش را برای فیلتر کردن بسته فعال کنید. اگر در حال توسعه یک برنامه آزمایشی یا برنامه قابل اشکال زدایی در Android Studio هستید، گزارش سیستم این قابلیت را برای شما فراهم می کند . در غیر این صورت، می توانید دستور زیر را در پنجره ترمینال اجرا کنید تا آن را به صورت دستی فعال کنید:
adb shell pm log-visibility --enable PACKAGE_NAME
سپس، هر زمان که بستهها از مقادیر برگشتی یک شی PackageManager
فیلتر میشوند، پیامی شبیه به زیر در Logcat مشاهده میکنید:
I/AppsFilter: interaction: PackageSetting{7654321 \ com.example.myapp/12345} -> PackageSetting{...} BLOCKED