Android Service判断设备联网状态详解

首先,要想获得当前android设备是否处于联网状态,那么android本身给我们提供了一个服务。

private ConnectivityManager connectivityManager;//用于判断是否有网络 

connectivityManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);//获取当前网络的连接服务
        NetworkInfo info = connectivityManager.getActiveNetworkInfo(); //获取活动的网络连接信息 

首先我们得先拿到android的网络服务,需要往配置文件里面加入一个权限。

<!-- 获取用户的手机是否联网的信息 -->

uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

然后我们通过Context.getSystemService(Context.CONNECTIVITY_SERVICE)拿到系统的服务。

然后我们用android提供给我们的这个NetworkInfo类去盛放系统返回给我们网络服务信息。

if (info == null) {  //当前没有已激活的网络连接(表示用户关闭了数据流量服务,也没有开启WiFi等别的数据服务)
          Toast.makeText(getActivity(), "检查网络连接是否打开", Toast.LENGTH_SHORT).show();
} else {       //当前有已激活的网络连接
} 

           当然,我们也可以用这局代码来判断我们的网络连接是否可用。来返回是否有效,如果为True则表示当前Android手机已经联网,可能是WiFi或GPRS、HSDPA等等。具体的可以通过ConnectivityManager 类的getActiveNetworkInfo() 方法判断详细的接入方式

connectivityManager.getActiveNetworkInfo().isAvailable();

以上就对Android Service 判断联网状态的资料整理,后续继续补充相关资料,谢谢大家对本站的支持。

(0)

相关推荐

  • Android实现开机自动启动Service或app的方法

    本文实例讲述了Android实现开机自动启动Service或app的方法.分享给大家供大家参考,具体如下: 第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动的Service或app. import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; i

  • Android使用Messenger实现service与activity交互

    service与activity交互的方式有多种,这里说说使用Messenger来实现两者之间的交互. Service程序: public class MessengerService extends Service { final Messenger mMessenger = new Messenger(new IncomingHandler()); @Override public IBinder onBind(Intent intent) { return mMessenger.getBi

  • Android AIDL和远程Service调用示例代码

    Android:AIDL和远程Service调用 本讲的内容,理解起来很难,也许你看了很多资料也看不明白,但是用起来缺简单的要命.所以我们干脆拿一个音乐播放器中进度条的实例来说明一下AIDL和Remote Service的价值和使用方法,你把这个例子跑一边,体会一下就OK了.下面的例子是我 正在准备的项目实例中的一部分. 首先说明一下我们面临的问题,如果看不懂下面的描述请看前面的课程: 第一.我们知道在AndroId中如果需要进行音乐播放,最方面的方法就是使用自带的MediaPlayer对象,如

  • Android Service详解及示例代码

    Android Service 详细介绍: 1.Service的概念 2.Service的生命周期 3.实例:控制音乐播放的Service 一.Service的概念 Service是Android程序中四大基础组件之一,它和Activity一样都是Context的子类,只不过它没有UI界面,是在后台运行的组件. 二.Service的生命周期 Service对象不能自己启动,需要通过某个Activity.Service或者其他Context对象来启动.启动的方法有两种,Context.startS

  • Android中 service组件详解

    service组件跟activity组件及其类似,可以说service是没有界面的activity, 当然service的生命周期和activity还是有一定的差别的. service组件一般用在什么地方的,上面讲了service组件没有界面,不用跟用户直接交互, 所以service组件一般运行在后台.比如做一些不需要界面的数据处理等等. 开发service需要两个步骤: 1,定义一个基础service的子类.     2,在AndroidManifest.xml 文件中配置该service.

  • Android IPC机制绑定Service实现本地通信

    **写作原因:跨进程通信的实现和理解是Android进阶中重要的一环.下面博主分享IPC一些相关知识.操作及自己在学习IPC过程中的一些理解. 这一章是为下面的Messenger和AIDL的使用做准备,主要讲解Android Service的绑定和Activity与本地Service之间通信相关知识.** 简介 我们都知道启动Service有两种方式:startService()和bindService().相比第一种方式,bindService()能够更加灵活地实现与启动端Activity的数

  • 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路

    上一篇文章Android进程间通信(IPC)机制Binder简要介绍和学习计划简要介绍了Android系统进程间通信机制Binder的总体架构,它由Client.Server.Service Manager和驱动程序Binder四个组件构成.本文着重介绍组件Service Manager,它是整个Binder机制的守护进程,用来管理开发者创建的各种Server,并且向Client提供查询Server远程接口的功能. 既然Service Manager组件是用来管理Server并且向Client提

  • Android Service总结及详细介绍

    1.Service的种类 按运行地点分类: 类别 区别  优点 缺点   应用 本地服务(Local) 该服务依附在主进程上,  服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL.相应bindService会方便很多.  主进程被Kill后,服务便会终止.  非常常见的应用如:HTC的音乐播放服务,天天动听音乐播放服务. 远程服务(Remote) 该服务是独立的进程,  服务为独立的进程,对应进程名格式为所在包名

  • Android基于Service的音乐播放器

    本文开发一个基于Service的音乐播放器,音乐由后台运行的Service负责播放,当后台的播放状态发生变化时,程序将会通过发送广播通知前台Activity更新界面:当点击Activity的界面按钮时,系统将通过发送广播通知后台Service来改变播放状态. 前台Activity界面有两个按钮,分别用于控制播放/暂停.停止,另外还有两个文本框,用于显示正在播放的歌曲名.歌手名.前台Activity的代码如下: public class MainActivity extends AppCompat

  • Android Service判断设备联网状态详解

    首先,要想获得当前android设备是否处于联网状态,那么android本身给我们提供了一个服务. private ConnectivityManager connectivityManager;//用于判断是否有网络 connectivityManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);//获取当前网络的连接服务 NetworkInfo info = co

  • Android 广播监听网络状态详解及实例代码

    Android 广播监听网络状态 我们在做多线程下载的时候,或者是在加载h5界面的时候,常常会遇到网络状态不好或者断网的时候,在这或者当我们的应用程序启动没有退出的时候,我们就需要对网络状态监听加以判断. 这时候,我们一般情况下,两种方式进行处理. 第一: 开启服务. 第二:发送广播的形式. 建议采用方法二. 源代码如下: 广播: /** * 有网络的广播 */ BroadcastReceiver connectionReceiver = new BroadcastReceiver() { @O

  • Android Service服务不被停止详解及实现

    Android Service服务一直运行: 最近有个项目需求是后台一直运行Service,但是一般都是可以手动停止的,这里就提供一个方法让Android Service服务一直运行,大家看下. 1.设置->应用->运行中->停止->杀死service 这样可以在service的onDestroy()方法中重启service public void onDestroy() { Intent service = new Intent(this, MyService.class); s

  • Android 6.0区别U盘和SD卡设备的方法详解

    如下所示: public static boolean isSdcardExists(Context context) { StorageManager storageManager = StorageManager.from(context.getApplicationContext()); List<VolumeInfo> volumes = storageManager.getVolumes(); for (VolumeInfo volInfo : volumes) { DiskInfo

  • Android Studio真机无线连接USB设备调试运行详解流程

    前言 一般情况下,多数移动开发者使用的是数据线连接电脑,进行各种移动设备的调试,更有胜者,非常迷恋模拟器,模拟器它好不好,答案是好,因为直接运行在电脑上,直接操作,调试,确实方便.尤其是ios开发小伙伴,多数app通过模拟器基本上都能开发好,再用真机验证就可以了.但对于android,就比较恼火了,模拟器一直不好用,卡.慢都是影响撸码的心情.另外android设备随便弄个便宜的都是容易的,基本上是真机开发.那么非一般情况呢,例如我们使用了NDK也就是C层的代码时,由于架构匹配方面,需要用真机开发

  • Android实现屏幕锁定源码详解

    最近有朋友问屏幕锁定的问题,自己也在学习,网上找了下也没太详细的例子,看的资料书上也没有有关屏幕锁定程序的介绍,下个小决心,自己照着官方文档学习下,现在做好了,废话不多说,先发下截图,看下效果,需要注意的地方会加注释,有问题的朋友可以直接留言,我们共同学习交流,共同提高进步!直接看效果图: 一:未设置密码时进入系统设置的效果图如下: 二:设置密码方式预览: 三:密码解密效果图 四:九宫格解密时的效果图 下面来简单的看下源码吧,此处讲下,这个小DEMO也是临时学习下的,有讲的不明白的地方请朋友直接

  • Android Broadcast原理分析之registerReceiver详解

    目录 1. BroadcastReceiver概述 2. BroadcastReceiver分类 3. registerReceiver流程图 4. 源码解析 4.1 ContextImpl.registerReceiverInternal 4.2 LoadedApk.getReceiverDispatcher 4.3 ActivityManagerService.registerReceiver 5. 总结 1. BroadcastReceiver概述 广播作为四大组件之一,在平时开发过程中会

  • Android开发中amera2 Preview使用详解

    目录 前言 一.Camera2 Preview需要用到哪些模块 二.各个模块的功能和之间的关系 2.1 SurfaceTexture之SurfaceTextureListener 2.1.1 首先看关于SurfaceTexture的说明 2.1.2 SurfaceTextureListener的使用 2.2 CameraManager 2.2.1 CameraManager的作用 2.2.2 使用CameraManager打开Camera 2.3 CameraDevice之StateCallba

  • Android 广播大全 Intent Action 事件详解

    具体内容如下所示: Intent.ACTION_AIRPLANE_MODE_CHANGED; //关闭或打开飞行模式时的广播 Intent.ACTION_BATTERY_CHANGED; //充电状态,或者电池的电量发生变化 //电池的充电状态.电荷级别改变,不能通过组建声明接收这个广播,只有通过Context.registerReceiver()注册 Intent.ACTION_BATTERY_LOW; //表示电池电量低 Intent.ACTION_BATTERY_OKAY; //表示电池电

  • Android USB转串口通信开发实例详解

     Android USB转串口通信开发实例详解 好久没有写文章了,年前公司新开了一个项目,是和usb转串口通信相关的,需求是用安卓平板通过usb转接后与好几个外设进行通信,一直忙到最近,才慢慢闲下来,趁着这个周末不忙,记录下usb转串口通信开发的基本流程. 我们开发使用的是usb主机模式,即:安卓平板作为主机,usb外设作为从机进行数据通信.整个开发流程可以总结为以下几点: 1.发现设备 UsbManager usbManager = (UsbManager) context.getSystem

随机推荐