gpt4 book ai didi

android - 收到接近警报 Intent 时如何接收位置信息?

转载 作者:行者123 更新时间:2023-11-30 04:44:16 24 4
gpt4 key购买 nike

我需要使用 LocationManager 的 addProximityAlert 方法添加多个接近警报。问题是,当我收到通知用户靠近我正在收听警报的区域之一时,如果用户正在进入或退出读取 KEY_PROXIMITY_ENTERING 的区域,我可以得到,但我不知道该区域是什么他正在进入或退出。有什么办法可以得到这种信息吗?

最佳答案

好吧,要添加 ProximityAlert,您需要一个 PendingIntent,可以使用 PendingIntent.getBroadcast(aContext, aRequestCode, anIntent, 0) 获得 PeindingIntent;现在,在第三个参数“anIntent”中,您可以放置​​任何您想要的数据,例如 Location 对象、随位置获取的城市名称,

我是这样做的:

private static final float DEFAULT_PROXIMITY = 1000f;
int requestCode = 0;
for (Location p : locationList) {
Double _lat = p.getLatitude();
Double _lon = p.getLongitude();
float radious = DEFAULT_PROXIMITY;
long expiration = -1;

Intent intent = new Intent(PROXIMITY_ALERT_ACTION_FIRED);
intent.putExtra( "location-lat" , p.getLatitude());
intent.putExtra( "location-lon" , p.getLongitude());
PendingIntent proximityIntent = PendingIntent.getBroadcast(this, requestCode, intent, 0);
locationManager.addProximityAlert(_lat, _lon, radious, expiration, proximityIntent);
requestCode++;
}

现在,当您收到广播消息时,您必须从传递的 Intent 中获取位置信息,类似这样;

@Override
public void onReceive(Context context, Intent intent) {

Boolean entering = intent.getBooleanExtra(key, false);
if(entering){
long lat = intent.getLongExtra("location-lat", -1);
long lon = intent.getLongExtra("location-lon", -1);
log.info("", "entering: " + lat + lon);
}else{
long lat = intent.getLongExtra("location-lat", -1);
long lon = intent.getLongExtra("location-lon", -1);
log.info("", "exiting: " + lat + lon);

}
}

干杯

关于android - 收到接近警报 Intent 时如何接收位置信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5353657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com