Home » Android 程式片段

[Android]檢查 GPS 衛星定位是否開啟

現在的智慧型手機可能安裝了地圖或是氣象預報的程式,它們大多是利用內建的 GPS 衛星定位來判斷持有者目前的位置。假設今天筆者要利用 Google APIs 來開發一些地圖程式時,若 GPS 未開啟可是會無法取得正確的位置資料。

因此,在開發會需要用到 GPS 功能的話,咱們得在一開始執行前先判斷 GPS 服務是否已經開啟了。

Android 中提供了 LocationManager 來管理跟地理位置相關的功能及服務:

1
2
3
4
5
6
7
import android.content.Context;
import android.location.LocationManager;
 
public static boolean isGPSEnabled(Context context){
	LocationManager locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
	return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
}

先使用 getSystemService() 取得 Context.LOCATION_SERVICE 後,再用 LocationManagerisProviderEnabled() 來判斷 LocationManager.GPS_PROVIDER 是否開啟。

最後當然也是要先取得 android.permission.ACCESS_FINE_LOCATION 權限才行的,因此要在 AndroidManifest.xml 中再加上

1
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

這樣咱們就能在程式中加入檢查 GPS 的開啟狀態,只要未開啟時就能提醒使用者先開啟 GPS 衛星定位後才能正常的使用。

發表迴響