จะอนุญาตให้มีการอัพเดตแอพอัตโนมัติใน Play Store ได้เฉพาะเมื่อเสียบเข้าเท่านั้น


14

ฉันต้องการให้แอพอัปเดตโดยอัตโนมัติเมื่อเสียบโทรศัพท์ (ชาร์จ) และ wifi ฉันสามารถอนุญาตให้อัปเดตอัตโนมัติได้อย่างง่ายดายเฉพาะเมื่อเปิด WiFi โดยมีตัวเลือกที่เหมาะสมในการตั้งค่า Play Store แต่ไม่ป้องกันการอัปเดตอัตโนมัติไม่ให้เกิดขึ้นหากโทรศัพท์ใช้แบตเตอรี่

นี่เป็นสาเหตุที่ทำให้แบตเตอรี่ไม่จำเป็นเมื่อฉันใช้โทรศัพท์กับ wifi ที่บ้าน เนื่องจากแอปที่อัปเดตอัตโนมัติเป็นงาน daemon มากกว่างานที่สำคัญในเวลาฉันไม่อยากจะเชื่อเลยว่ามันไม่ใช่กลยุทธ์การประหยัดพลังงานแบบมาตรฐาน

คุณรู้หรือไม่ว่าแอพพลิเคชั่นใด ๆ หรือวิธีแก้ปัญหาระบบ

คำตอบ:


4

หมายเหตุ :

วิธีแก้ปัญหาต่อไปนี้:

  • ได้รับการทดสอบบน 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 ( รุ่นทดลอง ; คู่มือผู้ใช้ ) เป็นแอปอัตโนมัติ

เราจะต้องมีสองงาน: งานรายการและงานออก ดูคำตอบของฉันที่นี่สำหรับความช่วยเหลือที่เกี่ยวข้อง

  • ป้อนงาน : (การทำงาน):

    1. รหัส→เรียกใช้เชลล์

      • คำสั่ง:

        น. เปิดใช้งาน com.android.vending / com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager \ $ CheckWifiAndAutoUpdate;
        กำลังหยุด com.android.vending;
        กำลังเริ่มต้นบริการ com.android.vending / com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager \ $ CheckWifiAndAutoUpdate
        
      • เห็บใช้รูท
    2. คุณอาจเลือกที่จะเพิ่มการกระทำอย่างน้อยหนึ่งอย่างเพื่อแจ้งเตือนตัวเองว่าขั้นตอนการอัพเดตได้เริ่มขึ้นแล้ว ฉันใช้ Alert → Flash เพื่อแจ้งเตือนตัวเองผ่านขนมปังปิ้ง
  • ออกจากงาน : (การทำงาน):

    งานนี้ต้องการแอปเพล็ตของ Busybox ที่ติดตั้ง ดูฉันจะติดตั้งเครื่องมือบรรทัดคำสั่งที่ขาดหายไปบนอุปกรณ์ Android ได้อย่างไร สำหรับความช่วยเหลือที่เกี่ยวข้อง

    1. สุทธิ→ทดสอบสุทธิ

      • ประเภท: เปิดใช้งานข้อมูลมือถือ
      • เก็บผลลัพธ์ใน: %Mdata
    2. รหัส→เรียกใช้เชลล์

      • คำสั่ง:

        ปิดการใช้งานข้อมูล svc;
        ปิดการใช้งาน svc wifi;
        กำลังหยุด com.android.vending;
        กำลังหยุด com.android.providers.downloads;
        down_path = $ (การค้นหาเนื้อหา - เนื้อหาuri: // download / my_downloads --project _data --where "notificationpackage = 'com.android.vending'");
        [["$ down_path"! = "ไม่พบผลลัพธ์" ]] && echo $ down_path | sed 's /.*=// g' | xargs rm -f || echo ดำเนินการต่อ;
        ลบเนื้อหา - เนื้อหาuri: // download / my_downloads --where "notificationpackage = 'com.android.vending'"
        ปิดการใช้งานน. com.android.vending / com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager \ $
        svc wifi เปิดใช้งาน;
        [["% Mdata" == "ใช่"]] เปิดใช้งาน & & ข้อมูล svc || echo ไม่ทำอะไรเลย
        
      • เห็บใช้รูท
    3. หากต้องการแจ้งให้คุณทราบอีกครั้งให้ใช้การกระทำที่คุณเลือก

งานเหล่านั้นทำอะไร

เมื่อตรงตามเงื่อนไขสำหรับทั้งบริบทแล้วภารกิจป้อนจะถูกเรียกใช้ คำสั่งในภารกิจนั้นทำสิ่งเหล่านี้ตามลำดับ:

  • เปิดใช้งานบริการของ 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 อีกแล้ว


สคริปต์ไม่ทำงานสำหรับฉันเช่นเดียวกับขั้นตอนการแก้ไขปัญหาเล็กน้อยฉันใช้คำสั่ง "การสืบค้นเนื้อหา" ด้วยตนเองและสังเกตว่ามันส่งผลให้สตริง "ไม่พบผลลัพธ์" ดังนั้นการลบเนื้อหา "จะไม่ทำอะไรเลย เงื่อนไข IF ไม่เป็นความจริง
prl77

2

สิ่งที่ฉันเข้ามาใกล้ที่สุดคือการรวมการตั้งค่าสองอย่างเข้าด้วยกัน ฉันทำสิ่งนี้กับอุปกรณ์สองเครื่องตัวหนึ่งที่ใช้ Android 4.4.4 (KitKat) และอีกตัวที่ใช้ Android 5.0.2 (Lollipop)

  • การตั้งค่าระบบ→ Wi-Fi →ขั้นสูง→เปิด Wi-Fi ในขณะที่อยู่ในโหมดสลีป→เฉพาะเมื่อเสียบปลั๊ก
  • Play Store →การตั้งค่า→แอพอัพเดทอัตโนมัติ→อัปเดตแอพอัตโนมัติผ่าน Wi-Fi เท่านั้น

ดูเหมือนว่าจะรับการอัปเดตอย่างน้อยบ่อยครั้งขึ้นเมื่อเสียบปลั๊กมันไม่ได้สมบูรณ์แบบ แต่ไม่ใช่วิธีแก้ปัญหาที่ไม่ดีและไม่ต้องใช้ตัวทาซเคอร์หรือรูต


0

สามารถทำได้โดยใช้ Tasker (แอปแบบชำระเงิน) ใน Tasker โปรไฟล์สามารถกำหนดโดยมีเงื่อนไขดังต่อไปนี้ มีช่วงการเรียนรู้เพียงเล็กน้อย แต่แอพนี้สามารถแทนที่แอพได้เกือบทั้งหมด

ด้านล่างเป็นตัวอย่างโปรไฟล์

เมื่อแบตเตอรี่> X%และWifi เปิดอยู่และเปิดใช้งานการชาร์จอยู่

เปิดใช้งานการซิงค์อัตโนมัติ

นี่เป็นเพียงตัวอย่างหนึ่งคุณสามารถระบุเงื่อนไขตามความต้องการของคุณ เนื่องจากนี่เป็นหัวข้อที่แยกออกมาฉันขอแนะนำให้คุณใช้ google tasker ในฟอรัม xda


3
สิ่งนี้จะเปิดใช้งาน / ปิดใช้งานการซิงค์อัตโนมัติทั้งหมดสำหรับข้อมูลทั้งหมดหรือไม่ ต้องรีเฟรชทุกบริการอื่น ๆ ด้วยตนเองเพื่อให้ Play Store ไม่อัปเดตอัตโนมัติดูเหมือนน้อยกว่าอุดมคติ
Mr. Buster

0

มีตั๋วเปิดให้ใช้บน Google Code แล้วดังนั้นหวังว่าคุณสมบัตินี้จะถูกเพิ่มในรุ่นอนาคต

https://code.google.com/archive/p/android-developer-preview/issues/1511


1
ดูเหมือนว่าปัญหาจะปิดโดยไม่มีวิธีการแก้ปัญหาที่มีหรือในผลิตภัณฑ์ขั้นสุดท้าย
Firelord
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.