Android——检查网络是否已经链接

 

新建一个项目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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489570.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

moment 时间戳_【通知】2020 CATTI 考试准考证打印时间

2020年CATTI考试时间为11月14、15日&#xff0c;11月起将陆续开始打印准考证。建议尽早打印&#xff0c;可以多打印几份备用。各省市准考证打印时间一切信息以考试报名系统为准。重庆&#xff1a;11月6日至13日湖北&#xff1a;11月9日9:00至11月15日13:30四川&#xff1a;11月…

PANS:智力以外的特质,会影响长期成就

来源&#xff1a;中国生物技术网美国宾夕法尼亚大学的亚裔心理学家Angela Duckworth经常会被人问道&#xff1a;是什么因素预示着成功&#xff1f;鉴于Duckworth在“Grit&#xff08;坚毅&#xff09;”研究领域所做的开拓性工作&#xff0c;这是一个可以理解的现象。坚毅这一性…

截取字符串的函数_常用的Excel函数

1.条件判断&#xff1a;IF函数应用数据目的&#xff1a;判断成绩所属的等级方法&#xff1a;在目标单元格中输入公式&#xff1a;IF(C2>90,"优秀",IF(C2>80,"良好",IF(C2>60,"及格","不及格")))&#xff0c;双击小加号填充语…

爱思助手安卓能用吗_专业的苹果越狱工具:爱思助手!

本文由绿盒下载站原创(www.42xz.com)欢迎关注微信公众号“绿盒下载站”爱思助手是一款专业的苹果刷机助手&#xff0c;里面包含了苹果软件、热门游戏、苹果铃声、高清壁纸等多功能&#xff0c;能帮用户轻松管理文件、照片、视频等&#xff0c;爱思助手除了能支持一切苹果手机版…

《麻省理工科技评论》发布2019年全球十大突破性技术!

来源&#xff1a;钱塘大数据《麻省理工科技评论》每年都会评选出当年的“十大突破性技术”&#xff0c;这份在全球科技领域举足轻重的榜单&#xff0c;曾精准预测了脑机接口、智能手表、癌症基因疗法、深度学习等诸多热门技术的崛起。正如比尔盖茨所说&#xff0c;看过这些突破…

给排水规范大全2020_住宅电气、给排水、消防安装工程的质量通病分析

“住宅项目机电安装工程”质量通病分析&#xff0c;从电气工程、给排水工程、消防工程3方面案例分析&#xff0c;各中案例非常值得各施工企业学习。01.电气工程施工质量通病02.给排水工程施工质量通病03.消防工程施工质量通病上述所列质量通病并不是全部&#xff0c;质量通病是…

从ACT-R探讨认知智能

来源&#xff1a; 人机与认知实验室【ACT—R模型最大的不足在于缺乏意向性与形式化的有机结合&#xff0c;这也是AI的瓶颈之一】哈耶克在默知识的基础上发展出了一整套体系&#xff0c;他说&#xff1a;“因为默知识不可表达&#xff0c;所以不可记录&#xff0c;所以不可集中&…

如何看创建媒体日期_汽车各零部件也有身份证,教你们如何看这些部件的出生日期...

大家在逛超市选商品时不知道有没有看产品生产日期的习惯呢?反正小编无论买什么食物&#xff0c;只能是吃进肚子里的都去有意无意的看一下生产日期&#xff0c;这些产品的生产日期也一般都是非常直观的印在外包装上。而汽车由成千上万个零部件组成&#xff0c;每个零部件都来自…

Science发现了改变情绪的大脑受体

来源&#xff1a;中国生物技术网 北京时间11月12日&#xff0c;发表在《Science》上的一篇新研究中&#xff0c;一个国际研究团队在大脑中一个研究甚少的区域发现了一种被认为与消极情绪有关的受体。靶向该受体&#xff0c;可以调节消极情绪。该研究可能会为精神疾病带来更有针…

linux源码下载阿帕奇,Ubuntu 12.04下源码安装Apache

环境&#xff1a;Ubuntu 12.04【简单安装】一般第一次安装Apache都较为顺利。1. 下载并解压rootubuntu:/home/qy/share#tar zxvf httpd-2.2.22.tar.gzrootubuntu:/home/qy/share#cd httpd-2.2.22在http-2.2.22里有文件README和INSTALL&#xff0c;用more命令可以阅读。2. 配置r…

latex自动生成中文目录_texpad: 中文输出+自动参考文献生成(bib+bst)

写在前面&#xff1a;本文仅记录自己在家无聊&#xff0c;接触了下LaTeX。本文是在MAC下使用TexpadMacTeX&#xff0c;进行LaTeX编辑&#xff0c;a.输出中文问题,此问题参考自&#xff1a;texpad中如何使用中文&#xff1f;&#xff08;mac OS&#xff09; - Peregrinatio的回答…

github里的默认域_恕我直言!你对Python里的import一无所知

写 Python 通常我们会怎样导包&#xff1f;可能大部分情况下都是用 import&#xff0c;但除了 import 你还会些什么呢&#xff1f;下面我们来介绍一些骚操作。1. 直接 import 人尽皆知的方法&#xff0c;直接导入即可import os与此类似的还有&#xff0c;不再细讲import ...一般…

为何云原生在吞噬世界 ?

来源&#xff1a;云头条长话短说&#xff0c;本文的目的是帮助你了解云原生的功能及带来的业务效益&#xff0c;并探讨准备迁移到这种新型计算模式的企业面临的种种选择和陷阱。“计算机革命已过去了60年&#xff0c;离微处理器的发明已有40年&#xff0c;现代互联网兴起至今已…

xgboost算法_工业大数据:分析算法

一. 应用背景大数据分析模型的研究可以分为3个层次&#xff0c;即描述分析(探索历史数据并描述发生了什么)、预测分析(未来的概率和趋势)和规范分析(对未来的决策给出建议)。工业大数据分析的理论和技术研究仍处于起步阶段&#xff0c;主要应用场景如下&#xff1a;1. 预测性维…

GC之七--gc日志分析工具

性能测试排查定位问题&#xff0c;分析调优过程中&#xff0c;会遇到要分析gc日志&#xff0c;人肉分析gc日志有时比较困难&#xff0c;相关图形化或命令行工具可以有效地帮助辅助分析。 Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc日志 -verbose.gc开关可显示GC的操…

postgresql修炼之道_PostgreSQL的TOAST技术

本文参考&#xff1a;PostgreSQL TOAST 技术理解《PostgreSQL修炼之道》一、TOAST是什么&#xff1f;TOAST是“The Oversized-Attribute Storage Technique”&#xff08;超尺寸属性存储技术&#xff09;的缩写&#xff0c;主要用于存储一个大字段的值。要理解TOAST&#xff0c…

3D器官和骨骼将使移植清单成为历史

来源&#xff1a;IEEE电气电子工程师学会对于患有慢性病或病情危重的患者&#xff0c;等待器官移植匹配的时间可能对生命生死攸关。根据美国卫生资源和服务管理局&#xff08;Health Resources and Services Administration&#xff1a;https://www.organdonor.gov/statistics-…

11月25号站立会议

小组名称&#xff1a;飞天小女警 项目名称&#xff1a;礼物挑选小工具 小组成员&#xff1a;沈柏杉&#xff08;组长&#xff09;、程媛媛、杨钰宁、谭力铭 代码地址&#xff1a;HTTPS: https://git.coding.net/shenbaishan/GIFT.git SSH&#xff1a;gitgit.coding.net:shenbai…

鱼c论坛python课后作业_三日速成python?打工人,小心钱包,别当韭菜

随着人工智能的热度越来越高&#xff0c;许多非计算机专业的同学们也都纷纷投入到学习编程的道路上来。而Python&#xff0c;作为一种相对比较容易上手的语言&#xff0c;也越来越受欢迎。网络上各类网课层出不穷&#xff0c;各式广告令人眼花缭乱。某些课程甚至卖出“天价”&a…

Linux shell的输入输出

echo --echo命令可以显示文本行或变量&#xff0c;或者把字符串输入到文件 --echo [option] string-e 解析转义字符 例如&#xff1a;echo -e "nimenhao\nasfdsaf" 打印发生换行-n 回车不换行 详解&#xff1a;一般在命令行打印字符串&#xff0c;光标会…