0

私はc#を使用してWin8Metroアプリで作業しています。

私のアプリでは、ジオロケーションサービスを使用して、ユーザーの位置の現在の座標を取得します。アプリを初めて起動するときに、権限の入力を求められます。これはすべて正常に機能し、問題なく座標を取得できます。

ここで、権限が変更されたらすぐにユーザーにメッセージを送信したいと思います。これを行う方法?

4

2 に答える 2

4

このドキュメントを確認してください:http: //msdn.microsoft.com/en-us/library/windows/apps/Hh465148

位置情報サービスを再度有効にするためのUIを提供する

アプリに位置情報サービスを再度有効にするためのUIを提供させます。たとえば、Geolocatorオブジェクトを再インスタンス化し、位置情報の取得を再試行する更新ボタンなどです。

  • ユーザーがロケーションアクセスを無効にした後で再度有効にした場合、アプリへの通知はありません。statusプロパティは変更されず、statusChangedイベントはありません。アプリは新しいGeolocatorオブジェクトを作成し、getGeopositionAsyncを呼び出して更新された位置データを取得するか、positionChangedイベントを再度サブスクライブする必要があります。ステータスが位置情報が再度有効になったことを示している場合は、位置情報サービスが無効になっていることをアプリが以前にユーザーに通知したUIをすべてクリアし、新しいステータスに適切に対応します。

  • また、アプリは、アクティブ化時、ユーザーが位置情報を必要とする機能を明示的に使用しようとしたとき、またはその他のシナリオに適した時間に、位置データの取得を再試行する必要があります。

于 2012-11-16T09:01:38.337 に答える
1

これには StatusChanged イベントを使用できます。

http://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.geolocation.statuschangedeventargs.status.aspx

case Windows.Devices.Geolocation.PositionStatus.disabled:
     // The app doesn't have permission to access location,
     // either because location has been turned off.
     return "Your location is currently turned off. " +
         "Change your settings through the Settings charm " +
         " to turn it back on.";
     break;
于 2012-08-14T14:24:51.603 に答える