我试图创建一个android程序,不断(每分钟)获取gps位置,然后将其发送到我的服务器在家里(以便我总是知道我的手机在哪里)。 我创建了一个启动按钮,一个图形用户界面,其启动服务:在Android的gps监控服务
start.setOnClickListener(new View.OnClickListener() {
synchronized public void onClick(View v) {
startService(new Intent(GpsTest2.this, GTService.class));
}
});
然后,我的服务声明如下:
public class GTService extends Service implements LocationListener {
}
这GTService具有检索数据的方法:
public void onLocationChanged(Location location) {
}
@Override
public void onCreate() {
super.onCreate();
LocationManager locMgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locMgr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, interval * 1000, minDist, this);
}
在AndroidManifest.xml中我有:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<service android:name=".GTService">
</service>
这似乎不起作用:没有数据记录。 我在这里做错了什么?
你在你的onLocationChanged方法中设置了一个断点并调试了解它何时被调用?还要确保GPS已启用。 – Jack
它永远不会被调用,那就是问题:-)我也在使用永远可用的网络提供商 –
您使用的是真实设备还是AVD? – Jack