这是我第一次使用服务,它肯定看起来很复杂。使用服务获取GPS位置,android?
所以我想在用服务关闭我的应用程序之后获取用户的位置。
这是我的服务课。
public class LocTrack extends Service {
GPSTracker gp;
@Override
public void onCreate()
{ gp = new GPSTracker(getApplicationContext());
onLocationChanged(gp);
super.onCreate();
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
return Service.START_STICKY;
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
public void onLocationChanged(GPSTracker track) {
// Getting latitude
double latitude = track.getLatitude();
// Getting longitude
double longitude = track.getLongitude();
Geocoder geocoder = new Geocoder(LocTrack.this, Locale.getDefault());
try
{
List<Address> addresses = geocoder.getFromLocation(latitude, longitude,1);
Log.e("Addresses","-->"+addresses);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
请告诉我我做错了什么。 如果我在活动类中使用代码,那么我可以在logcat中获取地址,但不能在使用服务时获取地址。
这就是我如何调用从活动服务
Intent intent = new Intent(MainActivity.this, LocTrack.class);
startService(intent);
你有没有实施清单 –
的权限是 .....LocTrack是我的服务级别的名称 –
WISHY
否M互联网,GPS,位置,模拟 –