2011-12-27 20 views
1

iPhoneアプリのAndroidポートを最近リリースしました。このアプリはデジタルコンパスに依存しています。これはほとんどのデバイスでうまくいきましたが、コンパスが動作していないところがいくつかあります。説明のために、デバイスが私たちに何らかのonSensorChanged()メッセージを与えていないようです。コンパスが一部のデバイスで動作しない

問題のように見えるのデバイスのカップルです:アンドロイド2.2で HTCの欲望 モトローラドロイドのAndroid 2.2.3

に彼らはコンパス作業罰金を利用する他のアプリと主張しています。

我々が使用してコンパスを開始:

磁力計と加速度計は、プログラム起動時に初期化され
if (magnetometer != null && accelerometer != null) 
    { 
     if (compassOn) 
     { 
      sensorManager.registerListener(this, accelerometer, (int) (1000000/kSensorUpdateFrequencyFast)); 
      sensorManager.registerListener(this, magnetometer, (int) (1000000/kSensorUpdateFrequencyFast)); 
     } 
     else 
     { 
      sensorManager.registerListener(this, accelerometer, (int) (1000000/kSensorUpdateFrequencySlow)); 
      sensorManager.registerListener(this, magnetometer, (int) (1000000/kSensorUpdateFrequencySlow)); 
     } 
    } 

を使用して:

sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); 
    accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 
    magnetometer = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); 

今すぐ上記のコードは、いずれかの加速度計場合、登録が起こらないことが示されました== nullまたは磁力計== null。私は磁力計がヌルでないと確信しています。なぜなら、それが私たちのコンパス機能を隠すからです。だから、おそらく加速度計は、これらの携帯電話でnullですか?

私のonSensorChanged()のコードはかなり標準的で、Web上で見つかる無数の例に基づいています。

なぜコンパスコードがこれらのデバイスで動作していないのでしょうか?

+0

上で作業を開始し、標準の定数を使用すると:問題を抱えている人たち(?すべての)ほとんどは2.2.x.上にあるようです – btschumy

+0

私はまた、いくつかのコード例でセンサーが取得されることに気付きました。 リストsendorList = sensorManager.getSensorList(Sensor.TYPE_MAGNETIC_FIELD); センサ磁力計= sensorList.get(0); getDefaultSensor()ではなく、これが役に立ちますか? – btschumy

答えて

1

私はこれを理解しました。 2.2では標準のSENSOR_DELAY_UI、SENSOR_DELAY_NORMALなどのセンサレートを使用することはできません。ドキュメントでは、通知間のマイクロ秒数を指定することもできますが、それらは横たわっています。

私はそれがFYI 2.2

0

あなたは、コンパスが機能していないということを説明していません。

有効なデータが得られない場合は、このデバイスでよく知られている問題である可能性があります。私の場合、は常にが手で(水平と垂直の両方に)回ってコンパスをロック解除する必要があります。いくつかのアプリはそれをという較正と呼んでいますが、私にとってはそれは不条理です...私はHTC Desireを持っています。

+0

申し訳ありませんが、問題は、受信するために登録した後にonSensorChanged()呼び出しを受け取ることがないということです。私たちが無効なデータを取得しているだけではありません。 – btschumy

関連する問題