Skip to main content

Bagaimana cara mengakses device settings(pengaturan perangkat) secara terprogram?


Terkadang seorang developer atau pengembang aplikasi mobile. Mengaktifkan pengaturan sebagai pengembang pada perangkat android, terutama disaat ingin android device nya dipakai untuk menginstall aplikasi yang dibuat menggunakan android studio ataupun sejenisnya.

Pertanyaannya adalah Bagaimana caranya ketika pengaturan yang biasa terjadi secara manual adalah
Settings > Developer options > USB debugging > True/False

Itu adalah hal yang paling sederhana. Tapi bagaimana jika pengaturan yang diproses menggunakan aplikasi bukan hanya developer options saja. Namun bisa mengakses pengaturan apapun yang ada didalam perangkat android. Maksudnya seperti about phone, IMEI, battery status dll. Hal ini akan berguna sekali tanpa user yang melakukan itu semua karena akan memakan waktu yang cukup lama untuk sebuah sosialiasasi. Kalau bisa dilakukan dengan program kenapa tidak bukan? :)

Mungkin ini sedikit yang bisa aku temukan dilaman stackoverflow berbahasa inggris. Yang kusadur ditahun 2012. Wah tahun dimana aku masih buta teknologi guys.. wkwk (gak penting juga keles)

Pengaturan kode pada di android studionya:
Settings.Secure.putInt (getActivity (). GetContentResolver (), Settings.Secure.ADB_ENABLED, 1);
Tetapi diperlukan akses root untuk melakukan ini. Hanya aplikasi sistem yang memiliki izin untuk bisa mengubah pengaturan secara aman.
Sunting: Coba berikuti ini untuk Tampilkan disemua ANR
Settings.Secure.putInt (ContentResolver, Settings.Secure.ANR_SHOW_BACKGROUND, 0);
dan berikut kode program agar Jangan Terus Beraktifitas secara terus menerus
ActivityManagerNative.getDefault (). SetAlwaysFinish (true)
tetapi ActivityManagerNative disembunyikan dalam set api standar. Kamu harus melakukan refleksi atau menggunakan metode ini untuk mendapatkan android.jar. Sekali lagi saya kira ini harus membutuhkan akses root.
Nah itu adalah beberapa caranya. Dan hasil pencarian di forum dimana developer biasa melakukannya yaitu di Stack Overflow.

Ada solusi lain yang bisa dicoba:
int adb = Settings.Secure.getInt(context.getContentResolver(),
  Settings.Secure.ADB_ENABLED, 0);
 // toggle the USB debugging setting
 adb = adb == 0 ? 1 : 0;
 Settings.Secure.putInt(context.getContentResolver(), 
Settings.Secure.ADB_ENABLED, adb);
Di file AndroidManifest.xml pada IDE android studio :
<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"></uses-permission>


Jika aplikasi Anda adalah aplikasi Sistem (System app) maka cukup melakukan dengan ini untuk bisa mengaktifkan / menonaktifkan USB Debugging
Settings.Secure.putInt(getActivity().getContentResolver(),Settings.Secure.ADB_ENABLED, 1);
Anda perlu untuk akses root untuk bisa melakukan ini. Saya telah melakukan rooting perangkat dan hanya menuliskan kode SU untuk mengaktifkan / menonaktifkan Usb Debugging.
Process proc = Runtime.getRuntime().exec(new String [] { "su", "-c", "setprop", "persist.service.adb.enable", "0"});
proc.waitFor();
Process proc2 = Runtime.getRuntime().exec(new String [] { "su", "-c", "stop", "adbd"});
proc2.waitFor();
Beruntungnya Anda tidak perlu untuk menempatkan aplikasi Anda pada pengaturan (/ system / priv-app /). Aplikasi sederhana Anda dapat ditempatkan pada (/data/app) .


Baris kode ini semoga dapat membantu:
Settings.Global.putInt(getContentResolver(), Global.ADB_ENABLED, 1);
dan Anda memerlukan izin ini:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
tetapi setelah menambahkan izin ini dalam manifest, kemudian Anda akan mendapatkan error berupa ini: Permission is only granted to system apps
yang berarti aplikasi Anda harus disetting dari aplikasi sistem (your app must be a system app).

sumber bacaan atau referensi:
github.com/alseambusher/adb-toggle (contoh source code yang sangat berguna)
Semoga artikel sederhana ini bermanfaat khususnya untuk para developer indonesia butuh pencerahan dalam artikel berbahasa indonesia.

Comments

Post a Comment

Popular posts from this blog

Cara menambahkan Google Chrome sebagai browser di Sublime Text 3

Saya baru-baru ini menginstal Sublime 3 Beta dan membuat file dengan ekstensi .html dan ingin meluncurkannya di Chrome dari dalam IDE tanpa mengklik kanan file tersebut dan memilih "Open From Browser". Saya hanya ingin menekan tombol kombo/dua kali(biar efektif.  Saya melihat-lihat semua opsi dan tidak dapat menemukan caranya. Lantas kemudian  saya menemukan solusinya. Bahwa anda dapat menambahkan sistem build baru dan mendapatkan fungsionalitas ini. Langkah-langkahnya : Tambahkan Teks berikut untuk dibuka dengan Google Chrome {"cmd": ["open" "-a" "Google Chrome" "$ file"]} Layar laptop Anda akan terlihat seperti apa yang ditunjukkan di atas. Simpan file sebagai: Chrome.sublime-build di "Folder Pengguna" Anda Sekarang pilih Tools -> Build System -> chrome dan kembali ke file HTML dan tekan CMD-B pada Mac. Anda dapat mengubah ini secara opsional untuk dibuka dengan brows...

Install Vue Syntax Highlighting via Package Control di Sublime Text

Akhir-akhir ini, s aya memiliki kebutuhan untuk menggunakan penyorotan sintaks pada kode program Vue saya di Sublime Text Editor.  Rasanya berbeda ketika tidak ada sintaks yang menyoroti kode yang sedang Anda kerjakan.  Jadi, lakukan penggalian. Namun, saya harus pergi dari satu situs ke situs lain untuk memuaskan pertanyaan saya.  Karena itu, saya membuat daftar langkah-langkah yang saya ambil untuk referensi.  Semoga ini membantu! Instal paket Kontrol Paket Pergi ke  http://wbond.net/sublime_packages/package_control/installation  & salin perintah panjang yang ada di web tersebut. Buka konsol Sublime Text 2/3 dengan menekan Ctrl + `. Paste perintah yang Anda salin tadi ke konsol Sublime Teks lalu tekan Enter. Setelah Kontrol Paket diinstal, buka ulang Sublime Text anda. Instal paket Vue Syntax Highlighting Tekan Command-Shift-P (Mac OS X) atau Ctrl-Shift-P (Windows) untuk membuka Command Palette. Mulai mengetik  Package ...