gpt4 book ai didi

android - 如果用户靠近位置通知

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:04:54 28 4
gpt4 key购买 nike

在我的应用程序中,我有一个包含关联经纬度位置的第 9 轮位置的列表,最终目标是在用户距离任何位置大约半英里以内时通知他们。

执行此操作的最佳方法是什么?这是我目前所拥有的。

distanceFromListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
List<JSONObject> centres = sortVenuesByNearest(location);
Log.d("FUApp", "distanceFromListener setting location");
haveLocation = true;
theLocation = location;

float accuracy = location.getAccuracy();
for (JSONObject centre : centres) {
try {
Double distance = Double.valueOf(centre.getString("distanceTo"));
String name = centre.getString("name");
Integer venueID = Integer.valueOf(centre.getString("id"));
if (distance < 804.672) {
Bundle mBundle = new Bundle();
Double miles = (distance * 0.00062137);
DecimalFormat df = new DecimalFormat("#.##");
String miles2 = df.format(miles);
mBundle.putString(ExtraKeyCentreName, name);
mBundle.putString(ExtraKeyCentreDist, miles2 + " miles away");
mBundle.putString(ExtraKeyCentreJSON, centre.toString());
mBundle.putString(ExtraKeyCentrePostcode, "none");

sendNotification(ActivityCentrePage.class, "Visit " + name, "You're half a mile from " + name + ". Why not come for a visit?", R.drawable.ic_launcher, venueID, mBundle);
} else {
cancelNotification(venueID);
}
} catch (JSONException e) {
e.printStackTrace();
}
}

}

@Override
public void onStatusChanged(String s, int i, Bundle bundle) {

}

@Override
public void onProviderEnabled(String s) {

}

@Override
public void onProviderDisabled(String s) {

}
};

Boolean notify_if_close = sp.getBoolean(SettingsNotifyIfClose, true);
if (notify_if_close) {
locationService.requestLocationUpdates(LocationManager.GPS_PROVIDER, 50, 100, distanceFromListener);
}

这行得通,但如果用户取消通知说那里关闭,当位置下次更新时它会再次弹出,这会很烦人。合适的替代方法是在 requestLocationUpdates 上设置一个大的 minTime,比如半小时吗?

最佳答案

关于android - 如果用户靠近位置通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18876013/

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