Ada Izin Android yang misterius dan tidak berdokumen bernama: WRITE_GSERVICES . Seperti biasa, dokumentasi Google sendiri bahkan lebih misterius daripada dongeng buruk, menulis:
android.permission.WRITE_GSERVICES Allows an application to modify the Google service map.
Namun Googling (!) Untuk Google Service Map
hasil tidak ada yang berguna.
Untuk apa ia mengendalikan dan untuk apa ia digunakan?
stock-android
permissions
not2qubit
sumber
sumber
READ_GSERVICES
, yang masuk akal, karena aplikasi normal tidak dapat meminta aksesWRITE_GSERVICES
, penanya menunjukkan bahwa Google Maps memerlukan izin READ_GSERVICES untuk bekerja dengan benar. - Juga ingin menambahkan, dari 17 suntingan ke duplikat yang Anda sebut 'milikku', 14 di antaranya oleh pengguna lain selain saya, berkontribusi lebih dari 5000 karakter.Jawaban:
Perhatikan bahwa izin ini hampir tidak berdokumen, oleh karena itu kita perlu merasakan jalan menuju makna sebenarnya. Jadi ini sama sekali bukan "jawaban resmi" - tetapi lebih atau kurang sesuatu antara "tebakan baik" dan "deduksi dari petunjuk lain".
Deskripsi resmi untuk izin ini (seperti yang disebutkan, tidak ada dokumentasi lebih lanjut) adalah:
Jadi sekarang kita bisa menebak apa artinya itu. Mari kita lakukan beberapa "rekayasa terbalik" untuk merasakan jalan kita ke dalamnya. Ryan sudah memberikan beberapa petunjuk dalam komentarnya, menghubungkan ke dua pertanyaan SO:
READ_GSERVICES
)Membaca yang tersirat: Setiap kali aplikasi ingin menggunakan (bagian dari) Kerangka Layanan Google , ia harus menyatakan
READ_GSERVICES
izin yang diperlukan - yang hampir mirip dengan yang dibutuhkanGET_ACCOUNTS
jika Anda inginUSE_CREDENTIALS
: aplikasi terlebih dahulu perlu memastikan layanan yang diperlukan tersedia sama sekali, sebelum mengaksesnya.Ini memberi kami gambaran tentang apa yang harus menjadi Peta Layanan Google : semacam indeks untuk Layanan Google yang tersedia (diinstal).
Sekarang setelah kami menemukan itu, kami dapat menebak dengan baik untuk apa
WRITE_GSERVICES
izin itu dimaksudkan - dan mengapa dilindungi olehsystem
tingkat perlindungan (artinya, itu hanya diberikan kepada "aplikasi sistem" - yaitu yang terintegrasi ke dalam ROM, yang merupakan sedang diinstal pada/system
partisi): JikaREAD_GSERVICES
dimaksudkan untuk mencari tahu layanan Google mana yang tersedia,WRITE_GSERVICES
harus menjadi counter-part-nya untuk memperbarui peta layanan itu. Yaitu, setiap kali layanan baru dipasang (atau dihapus), untuk memperbarui "indeks Layanan Google yang tersedia di perangkat" - "Peta Layanan Google".Satu hal yang saya ingin tahu dalam konteks ini adalah, mengapa izin ini milik
ACCOUNTS
grup ...Lihat juga:
READ_GSERVICES
izin sebagai "Mengizinkan API untuk mengakses layanan berbasis web Google " (mengutip pesan dari[email protected]
milis)ACCOUNTS
grup, karena termasuk misalnya Otentikasi Akun Google ;)sumber
ACCOUNTS
grup: banyak layanan Google memerlukan login agar dapat digunakan, jadi mungkin ada beberapa pemeriksaan silang (mis. Mengirimkan nama akun Anda untuk memeriksa apakah Anda memiliki "pengguna aktif" untuk diberikan layanan, bahkan tanpa masuk Anda / mengirimkan kata sandi / AUTH-token).