<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" />
<receiver android:name=".NetworkChangReceiver"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver>
public class NetworkChangReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isAvailable()) { switch (networkInfo.getType()) { case TYPE_MOBILE: Toast.makeText(context, "正在使用移动数据", Toast.LENGTH_SHORT).show(); break; case TYPE_WIFI: Toast.makeText(context, "正在使用wifi上网", Toast.LENGTH_SHORT).show(); break; } }else{ Toast.makeText(context,"当前无网络连接",Toast.LENGTH_SHORT).show(); } } }
public class MainActivity extends AppCompatActivity { private IntentFilter intentFilter; private NetworkChangReceiver networkChangReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); intentFilter=new IntentFilter(); intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); networkChangReceiver=new NetworkChangReceiver(); registerReceiver(networkChangReceiver,intentFilter); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(networkChangReceiver); } }