2163 7月11日
三须鳗鱼 等待验证会员
使用Android原生API获取经纬度,在note6上真机调试时,从上午十点到下午四点,一直无法获取,location 返回为空值。更换为华为荣耀,正常获取,使用虚拟机也能获取。
四点半时,重启手机,然后打开,获取到了!但高兴太早了,位置并不会更新,同时,结束进程后重新打开,又获取不到了。
求个大佬指点一下!
贴上代码:
  1. @Override
  2.     protected void onCreate(Bundle savedInstanceState) {
  3.        super.onCreate(savedInstanceState);
  4.        setContentView(R.layout.activity_main);
  5.        show = findViewById(R.id.tv_show);

  6.        mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
  7.        //获取到GPS_PROVIDER
  8.        location = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
  9.       
  10.        mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 0, mlocationListener);
  11.        mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 3000, 0, mlocationListener);
  12.     }

  13.     LocationListener mlocationListener = new LocationListener() {
复制代码


2条回复

代码没有显示全

  1.        @Override
  2.        public void onStatusChanged(String provider, int status, Bundle extras) {
  3.             // TODO Auto-generated method stub
  4.        }

  5.        @SuppressLint("MissingPermission")
  6.        @Override
  7.        public void onProviderEnabled(String provider) {
  8.             // 当GPS Location Provider可用时,更新位置
  9.             updata(mLocationManager.getLastKnownLocation(provider));
  10.        }
  11.        @Override
  12.        public void onProviderDisabled(String provider) {
  13.             // TODO Auto-generated method stub
  14.        }
  15.        @Override
  16.        public void onLocation changed(Location location) {
  17.             // 当GPS定位信息发生改变时,更新位置
  18.           // Toast.makeText(context, (CharSequence) location, Toast.LENGTH_SHORT).show();
  19.             Log.e("location", String.valueOf(location));
  20.             updata(location);
  21.        }
  22.     };
复制代码


剩下的代码