// This is the default setup to show location consent message box to the user // You can customize it to your needs, but do not remove it completely if your application // uses location services, as it is a requirement in Windows Store certification process private async void SetupLocationService() { AppCallbacks appCallbacks = AppCallbacks.Instance; if (!appCallbacks.IsLocationCapabilitySet()) { return; } const string settingName = "LocationContent"; bool userGaveConsent = false; object consent; var settings = Windows.Storage.ApplicationData.Current.LocalSettings; var userWasAskedBefore = settings.Values.TryGetValue(settingName, out consent); if (!userWasAskedBefore) { var messageDialog = new Windows.UI.Popups.MessageDialog("Can this application use your location?", "Location services"); var acceptCommand = new Windows.UI.Popups.UICommand("Yes"); var declineCommand = new Windows.UI.Popups.UICommand("No"); messageDialog.Commands.Add(acceptCommand); messageDialog.Commands.Add(declineCommand); userGaveConsent = (await messageDialog.ShowAsync()) == acceptCommand; settings.Values.Add(settingName, userGaveConsent); } else { userGaveConsent = (bool)consent; } if (userGaveConsent) { // Must be called from UI thread appCallbacks.SetupGeolocator(); } }
// This is the default setup to show location consent message box to the user // You can customize it to your needs, but do not remove it completely if your application // uses location services, as it is a requirement in Windows Store certification process private async void SetupLocationService() { AppCallbacks appCallbacks = AppCallbacks.Instance; if (!appCallbacks.IsLocationCapabilitySet()) { return; } const string settingName = "LocationContent"; bool userGaveConsent = false; object consent; var settings = Windows.Storage.ApplicationData.Current.LocalSettings; var userWasAskedBefore = settings.Values.TryGetValue(settingName, out consent); if (!userWasAskedBefore) { var messageDialog = new Windows.UI.Popups.MessageDialog("Can this application use your location?", "Location services"); var acceptCommand = new Windows.UI.Popups.UICommand("Yes"); var declineCommand = new Windows.UI.Popups.UICommand("No"); messageDialog.Commands.Add(acceptCommand); messageDialog.Commands.Add(declineCommand); userGaveConsent = (await messageDialog.ShowAsync()) == acceptCommand; settings.Values.Add(settingName, userGaveConsent); } else { userGaveConsent = (bool)consent; } if (userGaveConsent) { // Must be called from UI thread appCallbacks.SetupGeolocator(); } }