У меня есть приложение для Android для просмотра любых местоположений филиалов, но когда приложение закрыто, мне нужно отправить местоположение в качестве службы. Ex. Whatsapp, сообщения принимаются, когда приложение закрыто.Ошибка при запуске местоположения в качестве службы в приложении для Android
я создать класс обслуживания, но когда я называю это приложение останавливается, но этот код прекрасно работает на деятельности:
public class servicoEnviaLocalizacao extends Service {
private Timer timer = new Timer();
LocationManager lm;
LocationListener ll;
public servicoEnviaLocalizacao() {
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
ll = new localizacao_background();
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 2000, 10, (android.location.LocationListener) ll);
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_NOT_STICKY;
}
}
Logcat:
E/AndroidRuntime: FATAL ИСКЛЮЧЕНИЕ: main Процесс: br.com.testtotal, PID: 2390 java.lang.RuntimeException: невозможно создать экземпляр службы br.com.testtotal.servicos.servicoEnviaLocalizacao: java.lang.NullPo interException на android.app.ActivityThread.handleCreateService (ActivityThread.java:2556) на android.app.ActivityThread.access $ 1800 (ActivityThread.java:135) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java: 1278) на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:136) на android.app.ActivityThread.main (ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative (родной метод) at java.lang.reflect.Method.invoke (Method.java:515) at com.android.internal.os.ZygoteInit $ Metho dAndArgsCaller.run (ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:595) at dalvik.system.NativeStart.main (родной метод) Причиненный: java.lang .NullPointerException в android.content.ContextWrapper.getSystemService (ContextWrapper.java:540) в br.com.testtotal.servicos.servicoEnviaLocalizacao. (servicoEnviaLocalizacao.java:30) на java.lang.Class.newInstanceImpl (Родной метод) на java.lang.Class.newInstance (класс.java:1208) на android.app.ActivityThread.handleCreateService (ActivityThread.java:2553) на android .app.ActivityThread.access $ 1800 (ActivityThread.java:135) at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1278) at android.os.Handler.dispatchMessage (Handler.java:102) at android.os.Looper.loop (Looper.java:136) at android.app.ActivityThread.main (ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative (собственный метод) at java.lang .reflect.Method.invoke (Method.java:515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main (ZygoteInit .java: 595) at dalvik.system.NativeStart.main (Native Method)
Вам необходимо опубликовать исключение и stacktrace из logcat. –