首页 > 解决方案 > 如何在itel A16设备上使用google的Geolocation API?

问题描述

我无法在 Itel A16 设备(Android 8.1.0)上获取纬度和经度。我使用了以下代码,根据我在其他设备和模拟器上的测试,它运行良好。但不是在Itel A16上,我将不胜感激任何解决此问题的帮助,以便 Toast 可以显示设备位置。

 LocationManager locationManager = (LocationManager) getActivity().getSystemService(getContext().LOCATION_SERVICE);
            LocationListener locationListener = new LocationListener() {
                @Override
                public void onLocationChanged(Location location) {
                    double MyLat = location.getLatitude();
                    double MyLong = location.getLongitude();

                    Toast.makeText(getContext(), " latitude: " + MyLat + " longitude: " + MyLong, Toast.LENGTH_LONG).show();

                }

                @Override
                public void onStatusChanged(String provider, int status, Bundle extras) {

                }

                @Override
                public void onProviderEnabled(String provider) {

                }

                @Override
                public void onProviderDisabled(String provider) {

                }

            };

            //Location test
            if (checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && checkSelfPermission(getContext(),Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

            }
            locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

标签: androidgeolocationlocationmanager

解决方案


我按照 Android 开发人员的说明解决了FusedLocationProviderClient的问题


推荐阅读