私のアプリケーションに近接半径を追加しようとしていますが、半径が可変です。浮動小数点型の整数ですが、addProximityAlertは機能しません。
私はこの
float radius = 100f;
のように半径値を使用する場合、それは働きます!
しかし、私はそれをこのようにやろうとしている:
private void setProximityAlert(String Title, double lat, double lon, float radius, final int id, int requestCode){
// Expiration is 10 Minutes (10mins * 60secs * 1000milliSecs)
long expiration = 600000;
LocationManager locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Intent intent = new Intent(PROXIMITY_INTENT_ACTION);
intent.putExtra("id", id);
intent.putExtra("Title", Title);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), requestCode, intent, PendingIntent.FLAG_CANCEL_CURRENT);
locManager.addProximityAlert(lat, lon, radius, expiration, pendingIntent);
}
は、私がこのように近接アラートを設定しています:
this.dh = new DataHelper(ShowMap.this);
List<Pontos> list = this.dh.selectAll();
int count = 0;
for(Pontos p : list){
markerPlaces.add(new OverlayItem(p.getName().toString(), Integer.toString(p.getId()), new GeoPoint(p.getLat(), p.getLng())));
setProximityAlert(p.getName().toString(), p.getLat(), p.getLng(), p.getRadius(), p.getId(), count);
count++;
}
注:)(p.getRadiusは、int型の値を返します。 ..
私はradius = 100f;
を使用していますので、浮動小数点数は10fなので整数値のように浮動小数点数に変換する必要があると思います。
ありがとうございます!
ここで何が起こっているのかは本当に不明です。あなたはあなたの方法がどのように見えるか、パラメータ、またはあなたがそれをどのように呼んでいるのか、どのようなエラーが出るのかを示さなかった。 http://tinyurl.com/so-hintsを読んでください –
@JonSkeetヒントをお寄せいただきありがとうございます、私は最初の投稿を編集しました。あなたが今理解できることを願っています:) – silentw
本当に - あなたは何を得ていますか? –