2012-03-13 6 views
0

ジオロケーションを使用するアプリケーションを開発しています。 私のアプリケーションの起動時に、この権利をユーザに求める必要がありますか?はいの場合、どうですか?Windowsの電話機でGPSを使用する権利を質問する

設定のすべてのアプリケーションでグローバル設定が1つしか見つかりませんでした。しかし、多分ユーザーは私のアプリケーションをこのサービスに信頼しないかもしれないので、ベストプラクティスは何ですか?

答えて

2

をユーザに提供しなければなりません、 http://msdn.microsoft.com/en-us/library/hh184841(v=vs.92).aspxの場合は、ロケーションサービスを使用していることをユーザーに通知し、オプトイン/アウトを許可し、決定した場合にアプリでロケーションサービスを無効にする方法を提供する必要があります。

私がプロンプトする方法は、アプリケーション設定http://msdn.microsoft.com/en-us/library/cc221360%28v=vs.95%29.aspxを使用して、最初に実行されたかどうかを確認します。最初に実行した場合、その設定は存在しないため、アプリケーションが初めて実行されることがわかります。次に、OK/Cancelを使ってMessageBoxを使用します。 OKの場合、ロケーションサービス(設定クラスの別のプロパティ)がtrueになり、次にアプリケーションが起動するときにロケーション設定を使用できることがわかります。メッセージボックスが表示されたら、FirstRun = falseを設定して、アプリケーションが実行されるたびにメッセージボックスをポップしないようにします。あなたは設定を保存することができます。

アプリが場所にアクセスするたびに、場所サービスが許可されているかどうかを確認する必要があります。これは、設定をチェックするか、グローバル変数を使うか、何でも可能です。私は、アプリケーションの設定時にプロパティと同じ値に設定することによって、グローバル変数を設定します。その後、その設定が変更された場合、グローバル変数が変更され、実行中に位置情報サービスを無効にすると、アプリケーションはそれらの使用を停止します。

2

個人的に私はいつもこれを使用して...そして私はまた、常にこれが正常に動作しますが、それはアプリが実行されるたびに実行されます...

public MainPage() 
    { 
     InitializeComponent(); 


      var result = MessageBox.Show(
        "This application uses your location. Do you wish " + 
        "to give it permission to use your location?", 
        "User Location Data", 
        MessageBoxButton.OKCancel); 
      if (result == MessageBoxResult.Cancel) 
      { 
       //Enter code here 
      } 

    } 
+0

を市場の認証プロセスを渡します。証明書を渡すためにアプリが実行されるたびに尋ねる必要はありません。私は最初にアプリケーションが実行されていることを尋ね、それを設定として保存することをお勧めします。 –

関連する問題