編輯:關於Android編程
本文地址: 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應用自定義View繪制方法手冊
背景這篇遲遲難產的文章算是對2015前半年的一個交代吧,那時候有一哥們要求來一發Android Canvas相關總結,這哥們還打賞了,實在不好意思,可是這事一放就給放忘了
Android開發之activity的生命周期詳解
本文實例講述了Android activity的生命周期。分享給大家供大家參考,具體如下:activity類處於android.app包中,繼承體系如下:1.Java.l
android4.0 USB Camera實例(三)UVC
前面我寫了兩篇文章說明了zc301的實現 具體請看 http://blog.csdn.net/hclydao/article/details/21235919 下面順
android 怎樣用AIDL Service 傳遞復雜數據
大家都知道在Android中通過AIDL可以跨進程調用Service中的數據,網上也有很多實例,但是大部分實例都是關於基本數據類型的遠程調用,很少講到復雜數據的調用,今天