当我添加位置更新请求时,我很难理解这个应用程序崩溃的原因。
我参加了我的活动:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
startService(new Intent(this, LocationService.class));
}
我的服务代码如下:
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder;
import android.widget.Toast;
public class LocationService extends Service {
public LocationManager locationManager;
public MyLocationListener listener;
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onStart(Intent intent, int startId) {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
listener = new MyLocationListener();
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 4000, 0, listener);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 4000, 0, listener);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onDestroy() {
super.onDestroy();
locationManager.removeUpdates(listener);
}
public class MyLocationListener implements LocationListener {
public void onLocationChanged(final Location loc) {
Toast.makeText(getApplicationContext(), "New Location - Lat: " + String.valueOf(loc.getLatitude())
+ "; Lon: " + String.valueOf(loc.getLongitude()), Toast.LENGTH_SHORT).show();
}
public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "GPS Disabled", Toast.LENGTH_SHORT).show();
}
public void onProviderEnabled(String provider) {
Toast.makeText(getApplicationContext(), "GPS Enabled", Toast.LENGTH_SHORT).show();
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
}
在那一刻,我只是想祝酒工作。后来我计划通过广播将数据返回到活动中,但无法理解为什么这个烤面包不起作用。
如果我在onStart中注释掉代码并用toast替换它,那么就会显示toast。
有没有人知道为什么它不起作用?
我已在 AndroidManifest.xml
中注册了该服务 <service
android:name=".LocationService">
</service>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
任何指导都将不胜感激。
由于