Невозможно подключиться к inte rnet и выполнить операции https в android - PullRequest
0 голосов
/ 20 июня 2020

Я использую API направления облака Google для получения маршрутов между двумя местоположениями. Однако я не могу получить ответ от соединения. Вместо этого я получаю следующую ошибку.

2020-06-20 16:19:11.509 8992-9936/com.example.mindyourroute W/ConnectionTracker: Exception thrown while unbinding
    java.lang.IllegalArgumentException: Service not registered: lr@519d7e1
        at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1602)
        at android.app.ContextImpl.unbindService(ContextImpl.java:1693)
        at android.content.ContextWrapper.unbindService(ContextWrapper.java:714)
        at cg.b(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):1)
        at cg.a(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):6)
        at ls.A(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):10)
        at ld.a(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):3)
        at ea.run(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):3)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at iz.run(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):6)

мой java код:

public void setDirections(LatLng a, LatLng b){
        UrlRequest.Callback callback = new UrlRequest.Callback(){

            @Override
            public void onRedirectReceived(UrlRequest request, UrlResponseInfo info, String newLocationUrl) throws Exception {
                Log.i("redirect_recieved",info.toString());
            }

            @Override
            public void onResponseStarted(UrlRequest request, UrlResponseInfo info) throws Exception {
                Log.i("responce_started",info.toString());
            }

            @Override
            public void onReadCompleted(UrlRequest request, UrlResponseInfo info, ByteBuffer byteBuffer) throws Exception {
                String result_byte = byteBuffer.toString();
                Log.i("result_recieved",result_byte);
            }

            @Override
            public void onSucceeded(UrlRequest request, UrlResponseInfo info) {
                Log.i("succeded","result should be out");
            }

            @Override
            public void onFailed(UrlRequest request, UrlResponseInfo info, CronetException error) {
                Log.i("failed",error.toString());
            }
        };
        String a_string = String.format("%f,%f",a.latitude,a.longitude);
        String b_string = String.format("%f,%f",b.latitude,b.longitude);
        String url = String.format("https://maps.googleapis.com/maps/api/directions/json?origin=%s&destination=%s&key=%s",a_string,b_string,getString(R.string.google_maps_key));

        CronetProviderInstaller.installProvider(requireContext());
        CronetEngine cronetEngine = new CronetEngine.Builder(requireContext()).build();
        Executor executor = Executors.newSingleThreadExecutor();
        UrlRequest.Builder requestBuilder = cronetEngine.newUrlRequestBuilder(
                url, callback, executor);
        requestBuilder.build().start();
    }

здесь a и b - это две широты и долгота. Пожалуйста, помогите мне с этим ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...