新建一个项目testNet

添加一个button

  layout.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.testnet.MainActivity" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world" /><Buttonandroid:id="@+id/testNetwrkBtn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/textView1"android:layout_centerHorizontal="true"android:layout_marginTop="31dp"android:text="@string/btn_testNet" />
</RelativeLayout>

  

新建一个外部类,实现接口OnClickListener

  

Btn1Listener.java:

  

package com.example.testnet;import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Toast;public class Btn1Listener implements OnClickListener {private Context context;private TextView tv1;private ConnectivityManager cm;public Btn1Listener(Context context) {this.context = context;}@Overridepublic void onClick(View v) {//把上下文对象转型为ActivityActivity c = ((Activity) context);//获取文本控件tv1 = (TextView) c.findViewById(R.id.textView1);
//        tv1.setBackgroundColor(0);try{//获取网络。。。。cm = (ConnectivityManager) c.getSystemService(c.CONNECTIVITY_SERVICE);NetworkInfo info = cm.getActiveNetworkInfo();if(info == null){//提示没有网络
                tv1.setText(R.string.text_Net1);tv1.setBackgroundResource(R.color.red);}else{tv1.setText(R.string.text_Net0);tv1.setBackgroundResource(R.color.green);//不需要提示,继续执行相关的代码
            }}catch(RuntimeException e){//用户没授权的时候给出提示(由于不知道怎么提示用户授权,只能用Toast了,怪我小白)Toast.makeText(c, "没有权限,请授权", Toast.LENGTH_SHORT).show();}}}

然后在Activity类给button绑定点击事件

  

package com.example.testnet;import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;public class MainActivity extends Activity {private Button btn1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn1 = (Button) findViewById(R.id.testNetwrkBtn);btn1.setOnClickListener(new Btn1Listener(this));}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}
}

注意:检查网络链接需要在AndroidManifest.xml中授予相关权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.testnet"android:versionCode="1"android:versionName="1.0" ><!-- 授予局域网权限 --><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"  /><!-- 授予互联网权限 --><uses-permission android:name="android.permission.INTERNET"/><uses-sdkandroid:minSdkVersion="17"android:targetSdkVersion="20" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name=".MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

然后就可以运行了:

网络已连接的运行结果:

  

网络未连接的运行结果:

  

最后是用户没有授权的结果:

由于我的是模拟器,实在找不到怎么取消他的权限,所以我把AndroidManifest.xml的授权注释掉了→_→:

  

转载于:https://www.cnblogs.com/liangshijie/p/6085818.html

Android——检查网络是否已经链接相关推荐

  1. android 检查网络连接状态实现步骤

     android 如何检查网络连接状态,是android开发中一个常见的问题,本文将介绍如何实现,需要的朋友可以参考下 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限 ...

  2. Android检查网络状态步骤

    android 如何检查网络连接状态,是android开发中一个常见的问题. 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限: <span style=" ...

  3. Android检查网络

    很全的Android网络检查工具类 package com.utils; import android.app.Activity; import android.content.Context; im ...

  4. android无网络状态栏,Android中检查网络连接状态的变化,无网络时跳转到设置界面...

    在AndroidManifest.xml中加一个声明 1. 2. 3. 4. 5. NetCheckReceive.java文件如下 1.import android.content.Broadcas ...

  5. 关于Android studio Translation插件提示“更新 TKK 失败,请检查网络连接”问题

    今天在使用Android studio的时候想用一下Translation这个插件,但发现用不了了,一直提示"更新 TKK 失败,请检查网络连接",于是就上网查找解决方法,但是发现 ...

  6. visual studio安装进度条为零,检查网络链接;aka.ms拒绝连接,因为使用的HSTS...;无法访问github.com;外网无法访问

    visual studio安装进度条为零,检查网络链接 aka.ms拒绝 无法访问github.com 某些外网无法访问(google/microsoft/github) 请看问题描述,如果描述不符, ...

  7. Android Studio 提示:更新 TKK 失败,请检查网络连接

    Android Studio 提示:更新 TKK 失败,请检查网络连接 如图 站到对应的设置页面 刚开始也在百度里面搜索答案,大部分说是去掉勾选,translate.google.com:或者卸载重装 ...

  8. 小米电视 “无法访问,请检查网络链接是否正常“

    小米电视 "无法访问,请检查网络链接是否正常" 别的设备都能连接 samba 访问 Linux 下的共享文件夹,而就小米电视不行. 经查是因为小米电视只支持老旧的 SMB1.0 , ...

  9. Android之使用adb命令检查网络连接

    最近收到反馈:"某Android应用提示无法访问网络,但别的app能够正常访问网络,请检查你的代码有没有问题",一脸懵逼.......代码经过n次测试都没发现该问题,该如何处理呢? ...

最新文章

  1. Python加密—RSA加密
  2. toad for oracle xpert edition,Toad for oracle 软件产品模块对比,方便大家选型
  3. 13.QT信号槽的连接方式
  4. 牛客练习赛43 f Tachibana Kanade Loves Game
  5. Git多人开发场景模拟
  6. leetcode-剑指 Offer 44. 数字序列中某一位的数字
  7. Win Form登录机制的实现
  8. 一作发14篇SCI,累计IF60,博士前两年,他也曾走过弯路
  9. latex algorithm 引用格式错误
  10. 团队二阶段冲刺个人工作总结7
  11. php实现新闻管理系统,PHP基础示范:用PHP+Mysql编写简易新闻管理系统_mysql
  12. 服务器efi找不到硬盘,uefi启动找不到硬盘怎么办
  13. redis创建集群,redis-trib.rb命令详解
  14. 数据交换技术:OPC技术工作原理简述
  15. lopa分析_LOPA分析法之独立保护层浅析
  16. 三大门户二十年,中国互联网踏上新征程
  17. 独家 | 揭底!BiYong被爆严重用户隐私安全漏洞!
  18. php网页增加音乐代码,js给网页加上背景音乐及选择音效的方法
  19. TreeMap和LinkedHashMap
  20. js的join()与 split()

热门文章

  1. 促销 java_原始促销 [Java]
  2. 十二、HTML5新增标签特性详解(audio、video、input)
  3. LeetCode 1717. 删除子字符串的最大得分
  4. 天池 在线编程 扫雷(BFS)
  5. LeetCode 1626. 无矛盾的最佳球队(最大上升子序DP)
  6. [scikit-learn 机器学习] 3. K-近邻算法分类和回归
  7. LeetCode 813. 最大平均值和的分组(DP)
  8. LeetCode 1011. 在 D 天内送达包裹的能力(二分查找)
  9. LeetCode 268. 缺失数字
  10. db2 脚本运行错误返回错误原因_电脑运行错误代码大全,遇到报错请自己对照断电原因所在吧...