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.
cek
ReplyDelete