From ab483dba5922aeb1ec29ae779ec0b409e1ebafbb Mon Sep 17 00:00:00 2001 From: jia Date: Wed, 16 Oct 2024 22:34:16 +0800 Subject: [PATCH] =?UTF-8?q?gps=E5=BC=80=E5=90=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../newbind/NewBindDeviceActivity.java | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java b/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java index 04cbd701a..4fa40c615 100644 --- a/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java +++ b/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java @@ -9,9 +9,11 @@ import android.app.AlertDialog; import android.app.Dialog; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothGatt; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; +import android.location.LocationManager; import android.os.Build; import android.os.Bundle; import android.os.CountDownTimer; @@ -141,7 +143,7 @@ public class NewBindDeviceActivity extends AppCompatActivity { initTitle(); initView(); initListener(); - initWifiName(); + checkNet(); checkWifiUtil = new CheckWifiUtil(); airKissUtil = new AirKissUtil(); type = getIntent().getStringExtra("type"); @@ -163,8 +165,49 @@ public class NewBindDeviceActivity extends AppCompatActivity { currentDevice = getIntent().getParcelableExtra("device"); } EventBus.getDefault().register(this); + + + + + } + void checkNet(){ + if (checkGPSIsOpen(this)){ + initWifiName(); + }else { + AlertDialog.Builder dialog = new AlertDialog.Builder(this, AlertDialog.THEME_HOLO_LIGHT); + dialog.setCancelable(true); + dialog.setTitle("提示"); + dialog.setMessage("为了获取手机连接的wifi名称,请打开定位"); + dialog.setNegativeButton("取消", (arg0, arg1) -> { + arg0.dismiss(); + + }); + dialog.setPositiveButton("去打开", (dialog1, which) -> { + dialog1.dismiss(); + Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); + startActivityForResult(intent, 101); + }); + dialog.show(); + } + } + + public static boolean checkGPSIsOpen(Context context) { + LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); + //return locationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER); + // 通过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; + } + + + private void initWifiName() { WifiAdmin wifiAdmin = new WifiAdmin(this); String wifissid = wifiAdmin.getSSID(); @@ -1269,6 +1312,10 @@ public class NewBindDeviceActivity extends AppCompatActivity { protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); L.i(requestCode+"jjia--------result---"+resultCode); + L.i(requestCode+"jjia--------result-1--"+requestCode); + if (101== requestCode && 0==resultCode){ + checkNet(); + } } private void showDialog(String msg){ layoutLoading.setVisibility(View.VISIBLE);