Android - 位置定位(Location)服务(Service)类的基本操作
位置定位(Location)服务(Service)类的基本操作
本文地址: http://blog.csdn.net/caroline_wendy
定位服务(Location Service),能够确定移动设备的地址,在地图相关服务中。经常会使用GPS和移动相关的两种定位服务,GPS较为精准。
依据经常使用的定位服务功能。又加入网络检測和Wifi检測,和启动系统设置界面进行測试的功能。
代码:
import android.content.Context;
import android.content.Intent;
import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiManager;
import android.provider.Settings; /**
* Created by wangchenlong on 14-11-17.
*
* 定位服务的库:
* 包括功能:推断是否启动 定位服务、网络连接、WIFI连接
* 页面跳转-> 定位服务设置界面。WIFI设置界面
*/
public class LocationServiceUtils { private static final String TAG = "LocationServiceUtils"; /**
* 推断是否启动定位服务
*
* @param context 全局信息接口
* @return 是否启动定位服务
*/
public static boolean isOpenLocService(final Context context) { boolean isGps = false; //推断GPS定位是否启动
boolean isNetwork = false; //推断网络定位是否启动 if (context != null) { LocationManager locationManager
= (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); if (locationManager != null) {
//通过GPS卫星定位,定位级别能够精确到街(通过24颗卫星定位,在室外和空旷的地方定位准确、速度快)
isGps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
//通过WLAN或移动网络(3G/2G)确定的位置(也称作AGPS,辅助GPS定位。主要用于在室内或遮盖物(建筑群或茂密的深林等)密集的地方定位)
isNetwork = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
} if (isGps || isNetwork) {
return true;
} } return false;
} /**
* 推断是否启动所有网络连接,包括WIFI和流量
*
* @param context 全局信息接口
* @return 是否连接到网络
*/
public static boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
} }
return false;
} /**
* 推断是否启动WIFI连接
*
* @param context 全局信息接口
* @return 是否连接到WIFI
*/
public static boolean isWifiConnected(Context context) { if (context != null) { WifiManager wifi = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); if (wifi != null) {
return wifi.isWifiEnabled();
} } return false;
} /**
* 跳转定位服务界面
*
* @param context 全局信息接口
*/
public static void gotoLocServiceSettings(Context context) {
final Intent intent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} /**
* 跳转WIFI服务界面
*
* @param context 全局信息接口
*/
public static void gotoWifiServiceSettings(Context context) {
final Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} }
工具类的静态方法能够直接使用。
Android - 位置定位(Location)服务(Service)类的基本操作的更多相关文章
- Android学习笔记_23_服务Service之AIDL和远程服务实现进程通信以及进程间传递自定义类型参数
一.了解AIDL语言: 在Android中, 每个应用程序都有自己的进程,当需要在不同的进程之间传递对象时,该如何实现呢? 显然, Java中是不支持跨进程内存共享的.因此要传递对象, 需要把对象解析 ...
- Android四大组件之服务-Service 原理和应用开发详解
一.Android 服务简介 Service是android 系统中的四大组件之一(Activity.Service.BroadcastReceiver.ContentProvider),它跟Acti ...
- Android学习笔记_22_服务Service应用之—与Activity进行相互通信的本地服务
一.启动服务的两种方法方法: 第一种: startService()和stopService()启动关闭服务.适用于服务和Activity之间没有调用交互的情况.如果相互之间需要方法调用或者传递参数 ...
- Android系统编程入门系列之加载服务Service
之前几篇文章简单梳理了在Android系统的四大组件之一,最主要的界面Activity中,使应用程序与用户进行交互响应的相关知识点,那对于应用程序中不需要与用户交互的逻辑,又要用到哪些内容呢?本文开始 ...
- Android系统编程入门系列之服务Service中的进程间通信
在上篇文章以线程间的通信方式Handler类结尾,服务Service还支持的进程间通信,又是具体怎么实现的呢?这就要用到加载服务一文中提到的AIDL语言规范了. AIDL是 Android Inter ...
- Android服务Service具体解释(作用,生命周期,AIDL)系列文章-为什么须要服务呢?
Android服务Service具体解释(作用,生命周期,AIDL) 近期沉迷于上班,没有时间写博客了.解衣入睡,未眠.随起床写一篇博客压压惊! ##我们android系统为什么须要服务Service ...
- LBS(Location Based Service)(基于位置的服务)
LBS(Location Based Service)(基于位置的服务) Android 中定位方式基本可以分为两种:GPS定位,网络定位. GPS定位的工作原理是基于手机内置的GPS硬件直接和卫星进 ...
- Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK
原文:Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...
- Android 位置服务——BaiduLocation的使用
原文:Android 位置服务--BaiduLocation的使用 版权声明:本文为博主原创文章,欢迎转载,转载请在文章显眼处说明文章出处并给出连接. https://blog.csdn.net/To ...
随机推荐
- 通过无线连接的方式来做 Appium 自动化
感谢TesterHome里各种大牛,提出的宝贵思路,我这里只是将他们的想法综合了一下,试出来的成果,谢谢大家分享你们的智慧. 简单说下背景: 由于公司要测试APP 产品的耗电问题,我们采取的办法很lo ...
- C#中Base64之编码,解码方法
原文:C#中Base64之编码,解码方法 1.base64 to string string strPath = "aHR0cDovLzIwMy44MS4yOS40Njo1NTU3L1 ...
- hdu 4704 同余定理+普通快速幂
此题往后推几步就可找到规律,从1开始,答案分别是1,2,4,8,16.... 这样就可以知道,题目的目的是求2^n%Mod的结果.....此时想,应该会想到快速幂...然后接着会发现,由于n的值过大, ...
- Android学习笔记(十三)——碎片(一)
碎片 碎片可看作第二种形式的活动,能够创建碎片来包括视图. 碎片总是嵌入在活动中,一般有两种常见形式: 1.碎片A和碎片B分别处于不同的活动中,当选择碎片A中的某一项时,触发碎片B启动: 2.碎片A和 ...
- VMware vSphere服务器虚拟化实验六 vCenter Server 添加储存
VMware vSphere服务器虚拟化实验六 vCente ...
- acFileStorage equivalent
searching for a vcl that can enable embed any files within dfm similar to acfilestorage When there a ...
- must return an Iterable of arrays.(junit4)
java.lang.Exception: TestIterator.init() must return an Iterable of arrays. at org.junit.runners.Par ...
- 移植一个开源点餐网到SAE平台上
记得以前我准备弄个点餐网的,但是由于一些原因没有做下去. 前几天将网上的一个点餐源码移植到了SAE上,网址http://diancan4sae.sinaapp.com. 我想做个外卖网,先选一个学校周 ...
- 配置虚拟主机并更改Apache默认解析路径
配置虚拟主机,非常easy 改动以下文件: 加入以下几句话 <VirtualHost *:80> ##ServerAdmin webmaster@dummy-host2.example.c ...
- 450A - Jzzhu and Children 找规律也能够模拟
挺水的一道题.规律性非常强,在数组中找出最大的数max,用max/m计算出倍数t,然后再把数组中的书都减去t*m,之后就把数组从后遍历找出第一个大于零的即可了 #include<iostream ...