在我的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);