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,一经查实,立即删除!

相关文章

自学python在家怎么上班_【经验分享】转行如何自学Python并且找到工作,分享自己心得...

目前信息化产业发展势头很好&#xff0c;互联网就成为了很多普通人想要涉及的行业&#xff0c;因为相比于传统行业&#xff0c;互联网行业涨薪幅度大&#xff0c;机会也多&#xff0c;所以就会大批的人想要转行来学习Python开发。零基础学习Python必须明确的几点&#xff1a;1.…

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月…

less

编译器koala注释 /**///变量&#xff1a; variable_width&#xff1a;500px&#xff1b;混合&#xff08;mixin&#xff09; .border{border:1px solid red; } .box{.border;width:150px;height:150px;background: blue; } .border_02(border_width){border:solid #fff border_…

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

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

linux80端口检查,Linux下基于端口的服务检查脚本

Linux下基于端口的服务检查脚本#!/bin/bash#program:Usingtostudythe[if...then...fi]program#dsk2007/10/83:00#content:Iwillusingthisprogramtoshowyousevices#1.printtheprogramsworkinyourscreenecho "Now,the service of your Linux system will be detect!"ec…

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

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

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

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

jsp fmt标签详解

详见&#xff1a;http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt326 JSTL标签提供了对国际化&#xff08;I18N&#xff09;的支持&#xff0c;它可以根据发出请求的客户端地域的不同来显示不同的语言。同时还提供了格式化数据和日期的方法。实现这些功能需要I18N…

linux 内核模块开发,Linux内核模块开发(笔记)

Linux内核模块开发(笔记)作者&#xff1a;扶凯 来源: 扶凯 时间&#xff1a;2011-11-21 00:21:11 人气&#xff1a;249 评论&#xff1a;0标签&#xff1a; 内核个人笔记。。在不放过来都快找不到了。有空还得好好整理一下了。调试方法printk() 是用来调试内核最常用的一种技术…

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

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

猿辅导python编程老师面试_猿辅导辅导老师面试过程➕感受

一个周前拿到了猿辅导的offer&#xff0c;看到很多知有在问猿辅导的面试&#xff0c;碰巧又是秋招季&#xff0c;就在这里给大家谈一下我的面试过程和感受。先放一张我的的offer我在之前的文章中介绍过自己&#xff0c;因为是二本财务专业毕业&#xff0c;工作比较难找&#xf…

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

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

oracle 实现ID自增

CREATE TABLE testTable1 ( ID INT NOT NULL, NAME VARCHAR2(4000) NOT NULL, PRIMARY KEY(ID) ) TABLESPACE MYDB;--创建自增ID&#xff0c;名称为&#xff1a;表名_字段名_SEQ CREATE SEQUENCE testTable1_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE…

从ACT-R探讨认知智能

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

python 轨迹预测_CVPR 2019轨迹预测竞赛冠军方法总结

背景CVPR 2019 是机器视觉方向最重要的学术会议&#xff0c;本届大会共吸引了来自全世界各地共计 5160 篇论文&#xff0c;共接收 1294 篇论文&#xff0c;投稿数量和接受数量都创下了历史新高&#xff0c;其中与自动驾驶相关的论文、项目和展商也是扎堆亮相&#xff0c;成为本…

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

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

在MyEclipse中更换或修改svn的用户名和密码

1、通过删除SVN客户端的账号配置文件 &#xff08;1&#xff09;找到我们使用的客户端配置文件&#xff0c;Windows XP中的位置是在系统盘的Documents and Settings\Administrator\Application Data\Subversion\auth\文件夹中&#xff0c;Windows 7中的位置是在C:/Users/用…

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的回答…