仅在打开特定活动时如何获取位置消息?

时间:2019-03-08 13:45:25

标签: android android-activity android-manifest android-location

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

0 个答案:

没有答案