Catatan :
Solusi berikut:
- diuji pada Android 4.2.1, COS12 (Android 5.0.2) dan CM12.1 (Android 5.1.1) - semuanya menjalankan Play Store v6.0.5 1
- membutuhkan Android yang di-rooting
- di sini adalah demo singkat dari solusi
Saat menelusuri manifes Play Store, saya menduga bahwa hanya layanan berikut yang mungkin merupakan pemrakarsa pembaruan otomatis aplikasi melalui Wi-Fi.
com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager$CheckWifiAndAutoUpdate
Saya bermain dengan layanan itu di bawah beberapa kondisi pada perangkat yang berbeda dan merasa berguna untuk tujuan yang dimaksud. Tak perlu dikatakan bahwa pengaturan pembaruan otomatis aplikasi harus diatur ke "Perbarui aplikasi secara otomatis melalui Wi-Fi saja" di Play Store.
Inilah yang dapat Anda lakukan: Instal aplikasi otomasi yang dapat melakukan serangkaian tindakan ketika sumber daya dan Wi-Fi tersambung dan nanti, terputus. Saya menggunakan Tasker ( versi percobaan ; userguide ) sebagai aplikasi otomatisasi.
Kami akan membutuhkan dua tugas: tugas masuk dan tugas keluar. Lihat jawaban saya di sini untuk bantuan terkait.
Masukkan tugas : (Tindakan):
Kode → Jalankan Shell
- Anda dapat menambahkan satu tindakan atau lebih untuk memberi tahu diri sendiri bahwa prosedur pembaruan telah dimulai. Saya menggunakan Alert → Flash untuk memberi tahu diri melalui roti panggang.
Keluar dari tugas : (Tindakan):
Tugas ini membutuhkan applet Busybox yang diinstal. Lihat Bagaimana cara menginstal alat baris perintah yang hilang ke perangkat Android? untuk bantuan terkait.
Net → Net Uji
- Jenis: Data Seluler Diaktifkan
- Hasil Toko Di:
%Mdata
Kode → Jalankan Shell
- Sekali lagi, untuk memberi tahu diri sendiri, gunakan tindakan apa pun pilihan Anda.
Apa tugasnya?
Ketika kondisi untuk kedua konteks terpenuhi, tugas masuk dijalankan. Perintah dalam tugas itu melakukan hal-hal ini secara berurutan:
- aktifkan layanan Play Store tersebut di atas
- paksakan Play Store
- mulai layanan Play Store tersebut
Dan itu semua untuk memulai pembaruan otomatis.
Setelah tetap diaktifkan, setiap kali profil dinonaktifkan (hanya karena kondisi untuk konteks tidak terpenuhi lagi) tugas keluar akan berjalan. Tugas keluar itu menjalankan langkah-langkah berikut secara berurutan:
- menyimpan status (diaktifkan / dinonaktifkan) data seluler dalam variabel Mdata
tugas dari perintah-perintah itu adalah:
- nonaktifkan data seluler
- nonaktifkan Wi-Fi
- paksakan Play Store
- paksa Download Manager
Saya memperhatikan bahwa jika update (download berlangsung) untuk sebuah aplikasi terganggu karena tidak tersedianya Wi-Fi, progress bar (pemberitahuan) diberhentikan, status kemajuan akan disimpan berturut-turut dalam tabel download database download .db . (Basis data itu terletak di bawah direktori data Download Manager.) Baris itu juga berisi lokasi file yang diunduh sebagian.
Untuk memastikan bahwa pembaruan otomatis tidak terjadi pada koneksi sukses berikutnya ke Wi-Fi dan memastikan bahwa itu tidak pernah terjadi ketika profil tidak menjalankan tugas masukkan, berikut adalah apa yang dilakukan perintah lainnya:
- ekstrak lokasi file yang diunduh sebagian dari nilai di kolom yang
_data
sesuai dengan baris yang diidentifikasi oleh com.android.vending sebagai paket notifikasi. Kami bermaksud menghapus file itu. Ini adalah pengorbanan kecil untuk dilakukan.
- jika memang ada path file di bawah _data , kemudian gunakan untuk menghapus file yang ditunjuk olehnya.
- hapus baris itu, jika tidak, itu akan dibaca oleh Download Manager ketika konektivitas jaringan berubah (terhubung kembali ke Wi-Fi) dan pembaruan otomatis akan dimulai lagi.
- nonaktifkan layanan Play Store tersebut di atas sehingga pembaruan otomatis tidak pernah dimulai sendiri
- aktifkan Wi-Fi
- aktifkan data seluler, jika diaktifkan sebelum menjalankan tugas ini.
1 Pada saat membuat revisi pertama dari jawaban ini, versi Play Store saat ini jelas bukan 6.0.5 tetapi di atas. Namun, sejauh ini tidak ada perangkat saya yang menerima pembaruan Play Store lebih lanjut.