หมายเหตุ :
วิธีแก้ปัญหาต่อไปนี้:
- ได้รับการทดสอบบน Android 4.2.1, COS12 (Android 5.0.2) และ CM12.1 (Android 5.1.1) - ทั้งหมดนี้ใช้ Play Store v6.0.5 1
- ต้องใช้ Android รูท
- นี่คือตัวอย่างสั้น ๆ ของการแก้ปัญหา
ในขณะที่เรียกดูรายการ Play Store ฉันเดาว่ามีเพียงบริการต่อไปนี้เท่านั้นที่จะเป็นผู้ริเริ่มการอัปเดตแอปอัตโนมัติผ่าน Wi-Fi
com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager$CheckWifiAndAutoUpdate
ฉันเล่นกับบริการนั้นภายใต้เงื่อนไขเล็กน้อยบนอุปกรณ์ต่าง ๆ และพบว่ามีประโยชน์สำหรับเป้าหมายที่เป็นปัญหา ไม่ต้องบอกว่าควรตั้งค่าการอัปเดตอัตโนมัติของแอพเป็น "อัพเดทอัตโนมัติแอพผ่าน Wi-Fi เท่านั้น" ใน Play Store
นี่คือสิ่งที่คุณสามารถทำได้: ติดตั้งแอพอัตโนมัติซึ่งสามารถดำเนินการชุดของการกระทำเมื่อเชื่อมต่อแหล่งพลังงานและ Wi-Fi และยกเลิกการเชื่อมต่อในภายหลัง ฉันใช้Tasker ( รุ่นทดลอง ; คู่มือผู้ใช้ ) เป็นแอปอัตโนมัติ
เราจะต้องมีสองงาน: งานรายการและงานออก ดูคำตอบของฉันที่นี่สำหรับความช่วยเหลือที่เกี่ยวข้อง
งานเหล่านั้นทำอะไร
เมื่อตรงตามเงื่อนไขสำหรับทั้งบริบทแล้วภารกิจป้อนจะถูกเรียกใช้ คำสั่งในภารกิจนั้นทำสิ่งเหล่านี้ตามลำดับ:
- เปิดใช้งานบริการของ Play Store ดังกล่าว
- ร้านเล่นบังคับ
- เริ่มบริการของ Play Store ดังกล่าว
และนั่นคือทั้งหมดที่การอัปเดตอัตโนมัติจะเริ่มขึ้น
หลังจากเปิดใช้งานเหลืออยู่ทุกครั้งที่โปรไฟล์ถูกปิดใช้งาน (เพียงเพราะเงื่อนไขสำหรับบริบทไม่เป็นไปตามอีกต่อไป) ภารกิจการออกจะทำงาน งานออกนั้นจะดำเนินการตามขั้นตอนต่อไปนี้ตามลำดับ:
- เก็บสถานะ (เปิดใช้งาน / ปิดใช้งาน) ของข้อมูลมือถือในตัวแปร Mdata
งานของคำสั่งเหล่านั้นคือ:
- ปิดใช้งานข้อมูลมือถือ
- ปิดใช้งาน Wi-Fi
- ร้านเล่นบังคับ
- โปรแกรมจัดการดาวน์โหลดแบบบังคับให้หยุดทำงาน
ฉันสังเกตเห็นว่าหากการอัปเดต (กำลังดำเนินการดาวน์โหลด) สำหรับแอปถูกขัดจังหวะเนื่องจากไม่มี Wi-Fi แถบความคืบหน้า (การแจ้งเตือน) จะถูกยกเลิกสถานะของความคืบหน้าจะถูกเก็บไว้ในแถวในตารางดาวน์โหลดฐานข้อมูลดาวน์โหลด .db (ฐานข้อมูลนั้นอยู่ภายใต้ไดเรกทอรีข้อมูลของ Download Manager) แถวนั้นยังมีตำแหน่งของไฟล์ที่ดาวน์โหลดบางส่วน
เพื่อให้แน่ใจว่าการอัปเดตอัตโนมัติจะไม่เกิดขึ้นในการเชื่อมต่อที่ประสบความสำเร็จครั้งต่อไปกับ Wi-Fi และตรวจสอบให้แน่ใจว่ามันไม่เคยทำเช่นนั้นเมื่อโปรไฟล์ไม่ได้ทำงานการป้อนข้อมูลต่อไปนี้คือคำสั่งที่เหลือ
- แตกตำแหน่งของไฟล์ที่ดาวน์โหลดบางส่วนจากค่าในคอลัมน์ที่
_data
สอดคล้องกับแถวที่ระบุโดย com.android.vending เป็นแบบแจ้งเตือน เรามุ่งมั่นที่จะลบไฟล์นั้น นี่คือการเสียสละเล็ก ๆ ที่จะทำให้
- หากมีเส้นทางไฟล์ภายใต้_dataให้ใช้เพื่อลบไฟล์ที่ชี้ไป
- ลบแถวนั้นมิฉะนั้นจะถูกอ่านโดย Download Manager เมื่อมีการเปลี่ยนแปลงการเชื่อมต่อเครือข่าย (เชื่อมต่อกับ Wi-Fi) อีกครั้งและการอัปเดตอัตโนมัติจะเริ่มขึ้นอีกครั้ง
- ปิดใช้งานบริการ Play Store ดังกล่าวเพื่อให้การอัปเดตอัตโนมัติไม่เริ่มดำเนินการด้วยตนเอง
- เปิดใช้งาน Wi-Fi
- เปิดใช้งานข้อมูลมือถือหากมีการเปิดใช้งานก่อนที่จะใช้งานนี้
1ในช่วงเวลาของการสร้างการแก้ไขครั้งแรกของคำตอบนี้รุ่น Play Store ปัจจุบันไม่แน่นอน 6.0.5 แต่สูงกว่า อย่างไรก็ตามอุปกรณ์ของฉันไม่ได้รับการอัพเดต Play Store อีกแล้ว