日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android判断GPS是否开启和让用户打开GPS

發布時間:2023/12/14 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android判断GPS是否开启和让用户打开GPS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

定位服務GPS:

全球衛星定位系統,使用24個人造衛星所形成的網絡來三角定位接受器的位置,并提供經緯度坐標。雖然GPS提供絕佳的位置的精確度,但定位的位置需要在可看見人造衛星或軌道所經過的地方。

定位服務AGPS:

輔助全球衛星定位系統(英語:Assisted Global Positioning System,簡稱:AGPS)是一種GPS的運行方式。它可以利用手機基地站的資訊,配合傳統GPS衛星,讓定位的速度更快。用中文來說應該是網絡輔助 GPS定位系統。通俗的說AGPS是在以往通過衛星接受定位信號的同時結合移動運營的GSM或者CDMA網絡機站的定位信息,就是一方面由具有AGPS的手機獲取來自衛星的定位信息,而同時也要靠該手機透過中國移動的GPRS網絡下載輔助的定位信息,兩者相結合來完成定位。與傳統 GPS(GlobalPositioningSystem全球定位系統)首次定位要2、3分鐘相比AGPS的首次定位時間最快僅需幾秒鐘,同時AGPS也徹底解決了普通GPS設備在室內無法獲取定位信息的缺陷。

GpsUtil工具類:

/*** GPS工具類** @author Zachary*/ public class GpsUtil {/*** 判斷GPS是否開啟,GPS或者AGPS開啟一個就認為是開啟的** @param context* @return true 表示開啟*/public static final boolean isOPen(final Context context) {LocationManager locationManager= (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);// 通過GPS衛星定位,定位級別可以精確到街(通過24顆衛星定位,在室外和空曠的地方定位準確、速度快)boolean gps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);// 通過WLAN或移動網絡(3G/2G)確定的位置(也稱作AGPS,輔助GPS定位。主要用于在室內或遮蓋物(建筑群或茂密的深林等)密集的地方定位)boolean network = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);if (gps|| network) {return true;}return false;}/*** 強制幫用戶打開GPS** @param context*/public static final void openGPS(Context context) {Intent GPSIntent = new Intent();GPSIntent.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");GPSIntent.addCategory("android.intent.category.ALTERNATIVE");GPSIntent.setData(Uri.parse("custom:3"));try {PendingIntent.getBroadcast(context, 0, GPSIntent, 0).send();} catch (PendingIntent.CanceledException e) {e.printStackTrace();}}}

感覺也沒打開gps,不知道怎么弄,彈出框子讓用戶自己去打開吧:

private void openGPS() {new AlertDialog.Builder(MapActivity.this).setIcon(android.R.drawable.ic_dialog_info).setTitle(R.string.information).setMessage("開啟定位").setNegativeButton(R.string.cancel,null).setPositiveButton(R.string.open, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);startActivityForResult(intent,887);dialogInterface.dismiss();}}).show();}

返回結果進行監聽,成功打開之后在進行定位操作。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {switch(requestCode){case 887://開啟GPS,重新添加地理監聽startLocation();break;default:break;}super.onActivityResult(requestCode, resultCode, data);}

?

總結

以上是生活随笔為你收集整理的Android判断GPS是否开启和让用户打开GPS的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。