我試圖創建一個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