Place Picker вылетает в альфа-тесте, но не в андроид-студии - PullRequest
0 голосов
/ 12 апреля 2019

Мне представили проблему, которую я действительно не могу решить !! Мое приложение отлично работает в средах разработки, как на симуляторе Android Studio, так и на моем телефоне, который я использовал для предварительных тестов (Honor 8), но после создания альфа-теста в Google Play я получаю следующую ошибку:

Я нажимаю кнопку, чтобы запустить Picker Place, он активирует себя, но через мгновение закрывается, не позволяя вам выбрать место, где вы находитесь, эта проблема никогда не приходила мне в голову в любой момент разработки и в личном проверить на моем телефоне, также используя его в разных местах, так как он был загружен на моем телефоне. Я должен быть честным, что мой ключ API был активен более 1 года, но из-за личных проблем я не смог продолжить разработку, как вы думаете, это может помешать корректной работе APK API API?

При проверке в панели инструментов API Google ключ работает и активен.

Здесь я сообщаю о своем манифесте и коде, который я использую для вызова моего Пайкера:

манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.miapp.miapp">
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:fullBackupContent="true"
        tools:ignore="GoogleAppIndexingWarning">
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@ApiKey" />
        <activity android:name=".Find_Place">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".OkRes_Activity" />
        <activity android:name=".PutIn_Activity"/>
        <activity android:name=".utilityBOperation" />
    </application>

</manifest>

Call Piker:

placeNameText.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.v(TAG, "Find_Place:placeNameText.setOnClickListener: OnCreate : Ho cliccato la mia Text");

                //Richiamo il costruttore del mio Piker
                Log.v(TAG, "Find_Place:placeNameText.setOnClickListener: Start....... Richiamo il Piker con IntentBuilder....");
                IntentBuilder builder = new IntentBuilder();
                try {
                    Intent intent = builder.build(Find_Place.this);
                    Log.v(TAG, "Find_Place: OnCreate : Builder : Start....... Lancio il mio builder nell'activity....");
                    startActivityForResult(intent, PLACE_PICKER_REQUEST);
                    Toast.makeText(getApplicationContext(), "Sto chiamando il piker ed attendendo il risultato", Toast.LENGTH_LONG).show();
                } catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) {
                    e.printStackTrace();
                    String message;
                    message = e.getMessage();
                    Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
                    Log.v(TAG, "Find_Place: OnCreate : Builder : C'è stato un errore .... " + e);
                }

            }
        });

Я проверяю результат

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    //  Popolo la mia texviView con i miei dati
    Toast.makeText(getApplicationContext(),"Sono nel onActivityResult ",Toast.LENGTH_LONG).show();
    Log.v(TAG,"Find_Place: OnCreate : onActivityResult : Gestisco il risultato del Piker  .... " );
    if (requestCode== PLACE_PICKER_REQUEST)
    {
        Toast.makeText(getApplicationContext(),"Sono nel onActivityResult: requestCode== PLACE_PICKER_REQUEST" + PLACE_PICKER_REQUEST,Toast.LENGTH_LONG).show();
        Log.v(TAG, "Find_Place:onActivityResult: Valore del requestCode== PLACE_PICKER_REQUEST " + PLACE_PICKER_REQUEST);
        if (resultCode == RESULT_OK) {
            Toast.makeText(getApplicationContext(),"Sono nel onActivityResult: resultCode == RESULT_OK",Toast.LENGTH_LONG).show();
            Log.v(TAG, "Find_Place:onActivityResult: Valore del resultCode........." + resultCode);
        Place place = PlacePicker.getPlace(Find_Place.this, data);

Я не могу добавить журналы ошибок, потому что даже из консоли Google Play нет сбоев. Я не могу понять, в чем проблема, если вы можете мне помочь! Пока я там, я добавляю этот вопрос, по вашему мнению, это может вызвать проблемы: я вставил все процессы в onActivityResult, чтобы, если средство выбора не было активировано, его нельзя было продолжить?

Спасибо всем за помощь

1 Ответ

0 голосов
/ 09 июля 2019

В конце концов мне удалось решить ее самостоятельно и написать решение ниже, чтобы помочь любому, кто найдет ту же проблему.Poroblema возникает из-за того, что мы создаем API-ключ, который мы собираемся вставить в наш код, но который служит только в качестве тестового ключа.Когда мы собираемся создать нашу ALPHA или BETA, консоль Google Play автоматически генерирует ключ API для вставки в нашу КОНСОЛЬ РАЗРАБОТЧИКОВ GOOGLE вместе с нашим ключом API, сгенерированным во время создания приложения, это позволит нам использовать API, запрошенный в нашемприложение в разрабатываемой версии.ВАЖНО! Необходимо добавить новый ключ API, не заменяющий старый, иначе использование API в среде разработки больше не будет возможным.

Надеюсь, он будет полезен.

...