Как получить сообщение о местонахождении только при открытии определенного действия? - PullRequest
0 голосов
/ 08 марта 2019

В моем файле AndroidManifest.xml у меня есть два действия:

<activity android:name=".activities.LoginActivity"/>
<activity android:name=".activities.MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

Я также установил:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

Чтобы можно было узнать местоположение пользователя. Согласно моей логике приложения, если я вошел в систему, я перенаправлен прямо в MainActivity, в противном случае в LoginActivity. Когда я в первый раз открываю приложение, открывается LoginActivity. Даже если логика для определения местоположения пользователя присутствует в только в MainActivity, меня также спрашивают о разрешении местоположения при открытии LoginActivity.

Для продолжения включите местоположение устройства, которое использует службу определения местоположения Google

Что мне делать, чтобы я мог получить это сообщение только при открытом MainActivity?

Редактировать: Это код, который я использую:

LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder();
builder.addLocationRequest(new LocationRequest().setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY));
builder.setAlwaysShow(true);
locationSettingsRequest = builder.build();
settingsClient = LocationServices.getSettingsClient(MainActivity.this);
locationSettingsSuccessListener = locationSettingsResponse -> {
    Log.d(TAG, "Location enabled");
};

В onStart():

settingsClient.checkLocationSettings(locationSettingsRequest)
    .addOnSuccessListener(locationSettingsSuccessListener);
...