Langsung ke konten

Paling sering dikunjungi

Terakhir dikunjungi

navigation

Menentukan dan Memantau Status Konektivitas

Beberapa penggunaan paling umum untuk alarm berulang dan layanan latar belakang adalah menjadwalkan pembaruan rutin data aplikasi dari sumber daya Internet, data cache, atau mengeksekusi unduhan yang berlangsung lama. Namun jika Anda tidak terhubung ke Internet, atau koneksi terlalu lambat untuk menyelesaikan unduhan, bukankah lebih baik membangunkan perangkat untuk menjadwalkan pembaruan?

Anda bisa menggunakan ConnectivityManager untuk memeriksa apakah Anda benar-benar terhubung ke Internet, dan jika demikian, dan apakah tipe koneksi yang ada.

Menentukan apakah Anda memiliki Koneksi Internet

Anda tidak perlu menjadwalkan pembaruan berdasarkan sumber daya Internet jika tidak terhubung ke Internet. Cuplikan berikut menampilkan cara menggunakan ConnectivityManager untuk melakukan kueri jaringan yang aktif dan menentukan apakah jaringan memiliki konektivitas Internet

ConnectivityManager cm =
        (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
                      activeNetwork.isConnectedOrConnecting();

Menentukan Tipe Koneksi Internet Anda

Bisa juga menentukan tipe koneksi Internet yang saat ini tersedia.

Konektivitas perangkat, bisa disediakan oleh data seluler, WiMAX, Wi-Fi, dan koneksi ethernet. Dengan melakukan kueri tipe jaringan aktif, seperti yang ditampilkan di bawah ini, Anda bisa mengubah laju penyegaran berdasarkan bandwidth yang tersedia.

boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;

Biaya data seluler cenderung lebih mahal daripada Wi-Fi, jadi biasanya kecepatan pembaruan aplikasi Anda akan lebih lambat daripada koneksi seluler. Demikian pula, pengunduhan berukuran besar akan ditangguhkan hingga Anda mendapatkan koneksi Wi-Fi.

Setelah menonaktifkan pembaruan, Anda harus memantau perubahan dalam konektivitas agar dapat melanjutkannya setelah terhubung dengan koneksi Internet.

Memantau Perubahan dalam Konektivitas

ConnectivityManager menyiarkan aksi CONNECTIVITY_ACTION ("android.net.conn.CONNECTIVITY_CHANGE") bila detail konektivitas berubah. Anda bisa mendaftarkan penerima siaran dalam manifes untuk memantau perubahan ini dan melanjutkan (atau menangguhkan) pembaruan latar belakang Anda sebagaimana mestinya.

<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>

Perubahan pada konektivitas perangkat bisa sangat sering terjadi—siaran ini terpicu setiap kali Anda beralih antara data seluler dan Wi-Fi. Karena itu sebaiknya pantau siaran ini hanya jika sebelumnya Anda telah menangguhkan pembaruan atau unduhan agar dapat melanjutkannya. Umumnya cukup dengan memeriksa konektivitas Internet sebelum memulai pembaruan dan, jika tidak ada, menangguhkan pembaruan lebih lanjut sampai konektivitas pulih.

Teknik ini memerlukan peralihan penerima siaran yang telah Anda deklarasikan dalam manifes, yang akan dijelaskan dalam pelajaran berikutnya.

Situs ini menggunakan cookies untuk menyimpan preferensi Anda tentang bahasa di situs tertentu dan opsi tampilan.

Dapatkan berita dan tips terbaru dari developer Android yang akan membantu Anda mencapai kesuksesan di Google Play.

* Wajib Diisi

Hore!

Ikuti Google Developers di WeChat

Buka situs ini dalam bahasa ?

Anda meminta halaman dalam bahasa , namun preferensi bahasa untuk situs ini adalah .

Ingin mengubah preferensi bahasa dan mengakses situs ini dalam bahasa ? Jika nanti Anda ingin mengubah preferensi bahasa, gunakan menu bahasa di bagian bawah setiap halaman.

Kelas ini memerlukan tingkat API atau yang lebih tinggi

Dokumen ini tersembunyi karena level API yang Anda pilih untuk dokumentasi ini adalah . Anda dapat mengubah level API dokumentasi dengan pemilih di atas menu navigasi sebelah kiri.

Untuk informasi lebih lanjut tentang menentukan level API yang diperlukan aplikasi Anda, baca Mendukung Versi Platform Yang Berbeda.

Take a short survey?
Help us improve the Android developer experience. (April 2018 — Developer Survey)