หากแอปของคุณต้องอาศัยการโต้ตอบกับแอปอื่นๆ เพื่อให้ Use Case เสร็จสมบูรณ์ การทดสอบว่าการเปลี่ยนแปลงระดับการมองเห็นแพ็กเกจ ใน Android 11 (ระดับ API 30) ขึ้นไปส่งผลต่อแอปของคุณอย่างไรจะเป็นประโยชน์
นอกจากนี้ คู่มือนี้ยังให้คำแนะนำเกี่ยวกับวิธีทดสอบการเปลี่ยนแปลงพฤติกรรม และช่วยคุณกำหนดค่าข้อความในบันทึกเพื่อพิจารณาในระดับที่ละเอียดขึ้น ว่าแอปอาจได้รับผลกระทบอย่างไร
ทดสอบการเปลี่ยนแปลงลักษณะการทำงาน
หากต้องการทดสอบว่าการเปลี่ยนแปลงลักษณะการทำงานนี้ส่งผลต่อแอปของคุณหรือไม่ ให้ทำตาม ขั้นตอนต่อไปนี้
- ติดตั้ง Android Studio 3.6.1 ขึ้นไป
- ติดตั้ง Gradle เวอร์ชันล่าสุดที่ Android Studio รองรับ
- ตั้งค่า
targetSdkVersionของแอปเป็น30ขึ้นไป - อย่ารวมองค์ประกอบ
<queries>ไว้ในไฟล์ Manifest ของแอป - โทร
getInstalledApplications()หรือgetInstalledPackages()ทั้ง 2 วิธีจะแสดงรายการที่กรองแล้วเมื่อดำเนินการสำเร็จ - ดูว่าฟีเจอร์ใดของแอปไม่ทำงาน
- ป้อนรายการ
<queries>ที่เหมาะสมเพื่อแก้ไขฟีเจอร์เหล่านั้น
กำหนดค่าข้อความบันทึกสำหรับการกรองแพ็กเก็ต
หากต้องการดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีที่ระดับการมองเห็นเริ่มต้นของแอปส่งผลต่อแอปของคุณ คุณสามารถเปิดใช้ข้อความบันทึกสำหรับการกรองแพ็กเกจได้ หากคุณกำลังพัฒนา แอปทดสอบหรือแอปที่แก้ไขข้อบกพร่องได้ใน Android Studio บันทึกของระบบจะให้ความสามารถนี้แก่คุณ หรือคุณจะเรียกใช้คำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัลเพื่อเปิดใช้ด้วยตนเองก็ได้
adb shell pm log-visibility --enable PACKAGE_NAME
จากนั้นเมื่อใดก็ตามที่ระบบกรองแพ็กเกจออกจากค่าการคืนของออบเจ็กต์ PackageManager คุณจะเห็นข้อความที่คล้ายกับข้อความต่อไปนี้ใน Logcat
I/AppsFilter: interaction: PackageSetting{7654321 \
com.example.myapp/12345} -> PackageSetting{...} BLOCKED