永发信息网

Android判断网络是否连接,跳转到设置页面以及判断连接的是什么网络

答案:2  悬赏:50  手机版
解决时间 2021-02-26 00:54
Android判断网络是否连接,跳转到设置页面以及判断连接的是什么网络
最佳答案
一、判断网络连接是否可用,不可用跳转到设置界面

  view sourceprint?
  01.
  @Override
  02.
  protected void onStart() {
  03.
  AlertDialog.Builder builder=new Builder(this);
  04.

  05.
  //检查用户的网络情况
  06.
  ConnectivityManager cm=(ConnectivityManager) MainActivity.this.getSystemService(Context.CONNECTIVITY_SERVICE);
  07.
  //返回当前可用网络信息
  08.

  09.
  NetworkInfo info=cm.getActiveNetworkInfo();
  10.
  if(info!=null&&info.isConnected()){
  11.
  Toast.makeText(MainActivity.this, "网络可用", 0).show();
  12.

  13.
  }else{
  14.
  Toast.makeText(MainActivity.this, "网络不可用", 0).show();
  15.
  builder.setTitle("提醒");
  16.
  builder.setMessage("当前网络不可用,点击确定设置网络");
  17.
  builder.setPositiveButton("确定", new OnClickListener() {
  18.

  19.
  @Override
  20.
  public void onClick(DialogInterface dialog, int which) {
  21.
  Intent intent=new Intent();
  22.
  intent.setClassName("com.android.settings", "com.android.settings.Settings");
  23.
  startActivity(intent);
  24.
  }
  25.
  }
  26.
  );
  27.
  builder.create().show();
  28.
  }
  29.

  30.
  super.onStart();
  31.
  }

  二、使用ConnectionChangeReceiver判断网络是否可用



  view sourceprint?
  01.
  public class MainActivity extends Activity {
  02.
  private ConnectionChangeReceiver myReceiver;
  03.

  04.
  @Override
  05.
  protected void onCreate(Bundle savedInstanceState) {
  06.
  super.onCreate(savedInstanceState);
  07.
  setContentView(R.layout.activity_main);
  08.
  //用广播判断
  09.
  myReceiver=new ConnectionChangeReceiver();
  10.
  this.registerReceiver(myReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
  11.
  }
  12.
  public class ConnectionChangeReceiver extends BroadcastReceiver
  13.
  {
  14.
  @Override
  15.
  public void onReceive(Context context, Intent intent) {
  16.
  ConnectivityManager connectivityManager = (ConnectivityManager)
  17.
  context.getSystemService(Context.CONNECTIVITY_SERVICE);
  18.
  NetworkInfo mobworkInfo = connectivityManager
  19.
  .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
  20.
  NetworkInfo wifiworkInfo = connectivityManager
  21.
  .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
  22.
  boolean IsNetConnected = mobworkInfo.isConnected();
  23.
  boolean IsWifiConnected = wifiworkInfo.isConnected();
  24.
  if(IsNetConnected || IsWifiConnected){
  25.
  System.out.println("网络打开");
  26.
  Log.e("wankai", "wankai");
  27.
  boolean isConnected = true;
  28.
  }else{
  29.
  boolean isConnected = false;
  30.
  System.out.println("网络关闭");
  31.
  Log.e("wankai2", "wangguan");
  32.
  }
  33.
  }
  34.
  }
  35.

  36.

  37.
  }
  view sourceprint?
  1.


  三、判断GPS是否打开

  view sourceprint?
  1.
  public static boolean isGpsEnabled(Context context) {
  2.
  LocationManager lm = ((LocationManager) context
  3.
  .getSystemService(Context.LOCATION_SERVICE));
  4.
  List accessibleProviders = lm.getProviders(true);
  5.
  return accessibleProviders != null && accessibleProviders.size() > 0;
  6.
  }


  四、判断WIFI是否打开

  view sourceprint?
  01.
  public static boolean isWifiEnabled(Context context) {
  02.
  ConnectivityManager mgrConn = (ConnectivityManager) context
  03.
  .getSystemService(Context.CONNECTIVITY_SERVICE);
  04.
  TelephonyManager mgrTel = (TelephonyManager) context
  05.
  .getSystemService(Context.TELEPHONY_SERVICE);
  06.
  return ((mgrConn.getActiveNetworkInfo() != null && mgrConn
  07.
  .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel
  08.
  .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);
  09.
  }


  五、判断是否是3G网络

  view sourceprint?
  01.
  public static boolean is3rd(Context context) {
  02.
  ConnectivityManager cm = (ConnectivityManager) context
  03.
  .getSystemService(Context.CONNECTIVITY_SERVICE);
  04.
  NetworkInfo networkINfo = cm.getActiveNetworkInfo();
  05.
  if (networkINfo != null
  06.
  && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {
  07.
  return true;
  08.
  }
  09.
  return false;
  10.
  }


  六、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。

  view sourceprint?
  01.
  public static boolean isWifi(Context context) {
  02.
  ConnectivityManager cm = (ConnectivityManager) context
  03.
  .getSystemService(Context.CONNECTIVITY_SERVICE);
  04.
  NetworkInfo networkINfo = cm.getActiveNetworkInfo();
  05.
  if (networkINfo != null
  06.
  && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {
  07.
  return true;
  08.
  }
  09.
  return false;
  10.
  }
转载
全部回答
intent intent = getintent(); string classname = getarguments() != null ? getarguments().getstring("classname") : null; if (classname == null) { classname = intent.getcomponent().getclassname(); } if (classname.equals(class1.class.getname())){}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
类似爱情中安子晏和麦丁在现实中是同性恋么?
江水源自选商店这个地址在什么地方,我要处理
求access2010密钥
我家狗狗六个月了,它平时总趁我们不在家是往
财政大厦在哪里啊,我有事要去这个地方
(20分)阅读下列材料,回答问题。材料一元朝
上栗县鸡冠山乡鸡冠村村地址在什么地方,想过
(12分)阅读下列材料,结合所学知识,完成以
方舟生物医药研发中心地址有知道的么?有点事
以前得了血小板减少症,又得了皮肤病,医生让
i've ever seen 和i've never seen 哪个是比
流量175k是什么意思
欧洲旅游签证怎么办
为什么屏幕老是跳出这种广告,有什么解决方法
龙之谷手游要邀请多少人才能领阿尔泰亚
推荐资讯
DNF账号被盗了,可以查出来盗号当天跟谁交易
柠檬泰和谐广场店地址在什么地方,想过去办事
宛城区南阳张仲景大药房(长江路店)地址在什么
百姓温泉会馆地址有知道的么?有点事想过去
托运汽车多少钱
算命说路边的凡土是什么意思
盘山县胡家镇武装部2015年征兵体检 合格名单
The old town has narrow streets and small
数据15,17,14,10,15,17,17,16,14,12的平均数
安徽省舒城县福来童车有限公司在哪里啊,我有
2016dnf精奶可以打安图恩哪些图
恒信彩云办公用品经营部在什么地方啊,我要过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?