Android 動(dòng)態(tài)注冊(cè)監(jiān)聽(tīng)網(wǎng)絡(luò)變化實(shí)例詳解
Android 動(dòng)態(tài)注冊(cè)監(jiān)聽(tīng)網(wǎng)絡(luò)變化實(shí)例詳解
新建一個(gè)BroadcastTest項(xiàng)目,然后修改MainActivity中的代碼,如下:
public class MainActivity extends AppCompatActivity { private IntentFilter intentFilter; private NetworkChangeReceiver networkChangeReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); intentFilter=new IntentFilter(); intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); //廣播接收器想要監(jiān)聽(tīng)什么廣播,就在這里添加相應(yīng)的action networkChangeReceiver=new NetworkChangeReceiver(); registerReceiver(networkChangeReceiver,intentFilter); //調(diào)用resigerReceiver()方法進(jìn)行注冊(cè) } @Override protected void onDestroy(){ super.onDestroy(); unregisterReceiver(networkChangeReceiver); } class NetworkChangeReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent){ // Toast.makeText(context,"network changes",Toast.LENGTH_SHORT).show(); ConnectivityManager connectionManager=(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); //得到系統(tǒng)服務(wù)類 NetworkInfo networkInfo=connectionManager.getActiveNetworkInfo(); if(networkInfo!=null&&networkInfo.isAvailable()){ Toast.makeText(context,"network is available",Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(context,"network is unavailable",Toast.LENGTH_SHORT).show(); } } } }
動(dòng)態(tài)注冊(cè)的廣播接收器一定要取消注冊(cè)才行,在onDestroy()方法中通過(guò)調(diào)用unregisterReceiver()方法來(lái)實(shí)現(xiàn)。
訪問(wèn)系統(tǒng)的網(wǎng)絡(luò)狀態(tài)需要聲明權(quán)限,打開(kāi)AndroidManifest.xml文件,在里面加入權(quán)限,如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.administrator.broadcasttest"> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
運(yùn)行程序,打開(kāi)數(shù)據(jù)連接、關(guān)閉數(shù)據(jù)連接,效果如下:
以上就是Android 動(dòng)態(tài)注冊(cè)監(jiān)聽(tīng)網(wǎng)路變化的實(shí)例詳解,如果大家有疑問(wèn)可以留言或者到本站社區(qū)交流,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Android 7.0 監(jiān)聽(tīng)網(wǎng)絡(luò)變化的示例代碼
- android 監(jiān)聽(tīng)網(wǎng)絡(luò)狀態(tài)的變化及實(shí)戰(zhàn)的示例代碼
- Android 監(jiān)聽(tīng)網(wǎng)絡(luò)狀態(tài)方法詳解
- Android編程監(jiān)聽(tīng)網(wǎng)絡(luò)連接狀態(tài)改變的方法
- Android 實(shí)時(shí)監(jiān)測(cè)(監(jiān)聽(tīng))網(wǎng)絡(luò)連接狀態(tài)變化
- Android 廣播監(jiān)聽(tīng)網(wǎng)絡(luò)狀態(tài)詳解及實(shí)例代碼
- Android網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)監(jiān)聽(tīng)實(shí)例代碼(二)
- Android 網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)監(jiān)聽(tīng)代碼實(shí)例(一)
- Android中監(jiān)聽(tīng)判斷網(wǎng)絡(luò)連接狀態(tài)的方法
- Android 對(duì)手機(jī)網(wǎng)絡(luò)的檢測(cè)和監(jiān)聽(tīng)的方法示例
相關(guān)文章
android屏蔽按鈕連續(xù)點(diǎn)擊的示例代碼
這篇文章主要介紹了android屏蔽按鈕連續(xù)點(diǎn)擊的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12在Android中如何使用DataBinding詳解(Kotlin)
這篇文章主要給大家介紹了關(guān)于在Android中如何使用DataBinding(Kotlin)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11簡(jiǎn)單實(shí)現(xiàn)Android鬧鐘程序 附源碼
這篇文章主要幫助大家簡(jiǎn)單實(shí)現(xiàn)Android鬧鐘程序,附源碼下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07Android開(kāi)發(fā)獲取短信的內(nèi)容并截取短信
本文給大家介紹android開(kāi)發(fā)獲取短信內(nèi)容并截取短息的相關(guān)內(nèi)容,本文代碼簡(jiǎn)單易懂,感興趣的朋友一起學(xué)習(xí)吧2015-12-12android暫停或停止其他音樂(lè)播放器的播放實(shí)現(xiàn)代碼
來(lái)自android自帶的music源碼,下面是廣播接收的代碼,通過(guò)發(fā)送廣播來(lái)控制音樂(lè)的播放,停止等2013-11-11Android使用fastjson庫(kù)解析json字符串實(shí)戰(zhàn)
fastjson是一個(gè)Java語(yǔ)言編寫(xiě)的高性能功能完善的JSON庫(kù),它采用一種“假定有序快速匹配”的算法,把JSON?Parse的性能提升到極致,是目前Java語(yǔ)言中最快的JSON庫(kù),Fastjson接口簡(jiǎn)單易用,已經(jīng)被廣泛使用在緩存序列化、協(xié)議交互、Web輸出、Android客戶端等多種應(yīng)用場(chǎng)景2023-11-11