在我的应用程序中,如果用户在广播的帮助下关闭了应用程序,我会在固定的时间间隔后找到用户的位置。
然而,在我的Broadcast Reciever课程中,我得到了所需的Latitude&用户所在位置的经度。但是我如何使用该lat和long来在其帮助下找到用户的地址。
地理编码器需要活动上下文,但我有一个类扩展广播接收器。
public class LocationReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle b=intent.getExtras();
Location loc=(Location)b.get(LocationPoller.EXTRA_LOCATION);
// Getting latitude
double latitude = loc.getLatitude();
// Getting longitude
double longitude = loc.getLongitude();
System.out.println( loc.getLatitude());
System.out.println( loc.getLongitude());
addGet(latitude,longitude)
}
public void addGet(double latitude,double longitude) {
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
try
{
List<Address> addresses = geocoder.getFromLocation(latitude, longitude, 1);
Log.e("Addresses","-->"+addresses);
}
catch (IOException e)
{
e.printStackTrace();
}
}
答案 0 :(得分:2)
传递上下文。
addGet(context, latitude,longitude);
public void addGet(Context context,double latitude,double longitude) {
Geocoder geocoder = new Geocoder(context, Locale.getDefault());
}