Skip to content

Most visited

Recently visited

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.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Ikuti Google Developers di WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)