Ошибки surface и nativecrypto при попытке узнать текущее местоположение

Я получаю сообщение об ошибке:

E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7f7fc080e0
E/NativeCrypto: ssl=0x7f5ec8fc00 cert_verify_callback x509_store_ctx=0x7f5d8f0270 arg=0x0
E/NativeCrypto: ssl=0x7f5ec8fc00 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_ECDSA
E/MPlugin: Unsupported class: com.mediatek.common.telephony.IOnlyOwnerSimSupport

при попытке получить текущее местоположение в kotlin android.

Я пробовал с Android 6 и 8, но все еще получаю ошибку, и я не могу получить текущее местоположение на карте, открывается пустая карта

Может ли кто-нибудь помочь мне с тем, в чем проблема, я застрял в этой проблеме несколько дней?

Это мой код для получения текущего местоположения на карте:

class MapActivity : FragmentActivity(), OnMapReadyCallback,GoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListener,com.google.android.gms.location.LocationListener {
    private var service: LocationManager? = null
    private var enabled: Boolean? = null
    private var mCurrLocationMarker: Marker? = null
    private lateinit var mMap: GoogleMap
    private lateinit var mGoogleApiClient:GoogleApiClient
    private lateinit var mLastLocation:Location

    private lateinit var mLocationRequest:LocationRequest

    override fun onLocationChanged(location: Location) {

        mLastLocation = location
        val latLng=LatLng(location.latitude,location.longitude)

        val markerOptions = MarkerOptions()
        markerOptions.position(latLng)
        markerOptions.title("Current Position")
        markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_MAGENTA))
        mCurrLocationMarker = mMap.addMarker(markerOptions)
        mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15f))

    }
    override fun onConnected(bundle: Bundle?) {
        Log.d("sasas:","im here")

        mLocationRequest=LocationRequest()
        mLocationRequest.interval = 1000
        mLocationRequest.fastestInterval = 1000
        mLocationRequest.priority = LocationRequest.PRIORITY_HIGH_ACCURACY

        if (!enabled!!) {
            val intent = Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            startActivity(intent);
        }
        // Check if permission is granted or not
        if (ContextCompat.checkSelfPermission(this,android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
            LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this)
        }
//        LocationServices.getFusedLocationProviderClient(this)
    }
    override fun onConnectionSuspended(p0: Int) {

    }

    override fun onConnectionFailed(p0: ConnectionResult) {

    }

    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_map)
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        service = this.getSystemService(LOCATION_SERVICE) as LocationManager
        enabled = service!!.isProviderEnabled(LocationManager.GPS_PROVIDER)
        val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment
        mapFragment.getMapAsync(this)
    }


    override fun onMapReady(googleMap: GoogleMap) {
        mMap = googleMap
        mMap.mapType = GoogleMap.MAP_TYPE_NORMAL
        if (ActivityCompat.checkSelfPermission
                (this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            return
        }
        buildGoogleApiClient()
        mMap.isMyLocationEnabled = true

    }
    @Synchronized
    fun buildGoogleApiClient(){
        mGoogleApiClient = GoogleApiClient.Builder(this)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .addApi(LocationServices.API)
                .build()
        mGoogleApiClient.connect()
    }

    }

Что не так с приведенным выше кодом или почему я получаю эти ошибки и почему отображается пустая карта вместо отображения текущего местоположения?

Я сомневаюсь, что ошибки Surface и NativeCrypto связаны с местоположением. Вы просили необходимые разрешения? Отправьте код, чтобы запросить местоположение.

nikis 10.08.2018 16:47

@nikis Я обновил свой вопрос кодом. Пожалуйста, проверьте.

Sar Geo 10.08.2018 18:20

@nikis Также я дал разрешения в моем файле mainfest, например: <uses-permission android: name = "android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android: name = "android.permission.INTERNET" /> <uses -permission android: name = "android.permission.ACCESS_COARSE_LOCATION" />

Sar Geo 10.08.2018 18:22

Я решил это, это была моя ошибка, я также использовал старые вещи, такие как fusedlocation api. Я обновил свой код, и теперь он работает. :-) без вопросов

Sar Geo 11.08.2018 09:21
0
4
38
0

Другие вопросы по теме