В моем файле 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);