デバイス (HTC Hero) がどの方向 (n/w/s/e) を向いているかを知る必要がある Google Android 2.1 のアプリを作成しています。センサーとそのリスナーはうまく機能していますが、センサーから取得した値はまったくお粗末です。たとえば、デバイスが南西などに面している場合、私は北を向いていると表示されます...
これは、Android デバイスの既知の問題のようです。Webで見つけた「解決策」は次のようになります。
- デバイスを振る
- デバイスを8のように動かします
- デバイスの背面をタップします
これにより、センサーの再キャリブレーションがトリガーされると考えられます。そして、「動き回る」ということは私にとってはうまくいきます...しかし、それはあまり専門的ではないと思います...
では、SDK から方向センサーの再キャリブレーションをトリガーするにはどうすればよいですか? このアプリのユーザーが電話を「手動で」再調整しているときに、このアプリのユーザーを完全なばかのように見せるような凝ったものを使わずに、センサーを適切に調整する必要があります...
これを「正しく」行う方法はありますか?
編集:
または: デバイスが正しく調整されているかどうかをプログラム的に判断する方法はありますか? いわばフォールバックオプションとして...次に、デバイスに「手動」の再調整が必要であることをユーザーに警告できます。