[Solved] Android Networking Problem fatal exception network On Main Thread Exception
Berbagi tips mungkin bagi yang sedang mengembangkan aplikasi android dengan fitur networking / terhubung dengan internet. Mungkin akan mengalami error dengan pesan seperti ini
fatal exception android.os.networkOnMainThreadExceptionBerdasarkan informasi yang saya dapatkan bahwa error ini biasanya terjadi pada android versi 3.0 (honeycomb) ke atas. Pada aplikasi/activity yang memiliki user interface, disarankan untuk menghindari adanya komunikasi yang terus-menerus ke network/file.
Karena itu pada android versi 3.0 memiliki fitur StrictMode. StrictMode akan mengatur kebijakan agar activity tidak melakukan proses yang tidak perlu di background. Sehingga jika anda memiliki aplikasi/activity yang tidak menyertakan StrictMode, maka error seperti diatas akan muncul.
Hal ini sebenarnya dapat diatasi dengan mengganti target min sdk menjadi turun, misal 7. Ketika dicompile ulang, maka aplikasi anda berjalan sebagaimana semestinya. Namun caranya ini tidak disarankan oleh developer yang sudah berpengalaman.
Caranya dengan menambahkan
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}Bacaan terkait
Membuat dan Print Dokumen di Flutter
Dalam aplikasi adakalanya kita memerlukan agar aplikasi menghasilkan dokumen atau dokumen tersebut untuk bisa di print. Di flutter hal tersebut dapat dilakukan denga...
Mendapatkan String App Hash untuk SMS Retriever Android
Implementasi verifikasi menggunakan OTP pada aplikasi sering digunakan. Sebelumnya android memiliki permission (SMS_RECEIVE and SMS_READ) untuk membaca SMS agar memu...
flutter_stetho : Debug Flutter (Network) Menggunakan Chrome Dev Tools
Ada kalanya ketika melakukan development aplikasi mobile, kita perlu melakukan debugging terkait network layaknya inspect web pada browser chrome. Di flutter hal ter...
Komentar (1)
Atau jika ingin tetap ada strict mode, maka mekanisme coding network harus diubah, yaitu komunikasi network melalui background.
Pilihannya jadi tergantung programmer
Tulis komentar
Komentar akan dimoderasi sebelum tampil.