Bu benim Service
numaralı düğmeyi alıyorum, Activity
numaralı telefondan. Service
çalışıyor iken Activity
sola kaydırırsanız, çöküyor. Ayrıca manifestoda android:process=":remote"
'u ekleyerek ayrı bir süreçte çalıştırmayı denedim ama yine de aynı.START_STICKY ile Android servisi, öldürme uygulamasında çöküyor
@Override
public void onCreate(){
super.onCreate();
Log.d("Service", "Creating");
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
return null;
}
@Override
public int onStartCommand (Intent intent, int flags, int startId)
{
super.onStartCommand(intent, flags, startId);
Log.d("Started", "Service");
type = intent.getIntExtra("Type",-1);
mode = intent.getIntExtra("Mode",-1);
rank = intent.getIntExtra("Rank", -1);
latitude = intent.getDoubleExtra("Lat", -1.0);
longitude = intent.getDoubleExtra("Long", -1.0);
startTime = intent.getLongExtra("Start", 0);
endTime = intent.getLongExtra("End", 0);
alıyorum hatadır: Bu Service
çıkıyor oluyor
java.lang.RuntimeException: Unable to start service [email protected] with null: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.content.Intent.getIntExtra(java.lang.String, int)' on a null object reference
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2913)
at android.app.ActivityThread.access$2100(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1390)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5312)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.content.Intent.getIntExtra(java.lang.String, int)' on a null object reference
at com.routofy.routofytest.MyLocationService.onStartCommand(MyLocationService.java:89)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2896)
at android.app.ActivityThread.access$2100(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1390)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5312)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
type = intent.getIntExtra("Type",-1);
üzerinde null
işaretçi ben app öldürme işlemini öldürüyor anlamak olduğunu
ve Intent
null
olmak. Ancak,Intent
öldürülse bile Service
'a teslim edilen bu tür durumlarla nasıl başa çıkılır? Hizmetin Activity
'dan tamamen bağımsız olmasını istiyorum. Ayrıca bunun gibi çalıştırıyorum:
Intent pickIntent = new Intent(getApplicationContext(),MyLocationService.class);
Olası kopyası [NullPointerException nedir ve nasıl giderebilirim?] (Http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i- fix-it) – petey