addProximityAlert()
デバイスやエミュレーターで作業しようとして、何時間も頭を悩ませてきました。絶望の最後の行動として、通常の API 17 ではなく API 8 エミュレーターを使用してみましたが、突然動作し始めました。問題を引き起こしている可能性のある API 8 と API 17 の違いは何ですか?
私のコードは非常に簡単です:
Intent intent = new Intent(PROX_ALERT_INTENT);
PendingIntent proximityIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
locationManager.addProximityAlert(2, 2, 100, -1, proximityIntent);
IntentFilter filter = new IntentFilter(PROX_ALERT_INTENT);
registerReceiver(new ProximityIntentReceiver(), filter);
ProximityIntentReceiver
メッセージを拡張BroadcastReceiver
してログに記録するだけです。DDMS とエミュレータを使用して、現在地を に設定しています(2, 2)
。
私のマニフェストには、大まかなロケーション プロバイダーと詳細なロケーション プロバイダーのアクセス許可があります。私が言ったように、このコードは API 8 で正常に動作します。