У меня проблема с моим сервисом. Дело в том, что когда он страдает, он разбивает все мое приложение. Отладочное приложение сообщило мне, что после этого он завершился после завершения процедуры «onCreate» (см. Мой код ниже). Кажется, что он даже не имеет доступа к onHandedIntent, но не уверен в этом! Я поставил свой код и журнал чуть ниже. Я проверил манифест, и это не проблема.Сбой при запуске IntentService при запуске
Спасибо за всю помощь
package com.example.pierr.puremusictest2;
import android.app.IntentService;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.util.Log;
import java.io.IOException;
public class MusicPlayerService extends IntentService{
static MediaPlayer mPlayer;
Intent gIntent;
String url = "http://lolilol.890m.com/Musique/CapitalKings/II/Capital_Kings_-_Satellites_Official_Audio_Video-r8.aac";
public MusicPlayerService() {
super("mainThreadService");
Log.i("blablabblablba","creation that's it2");
}
public void onCreate(){
Log.i("blablabblablba","creation that's it2");
mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
Log.i("blablabblablba","musicPlayer created");
}
@Override
protected void onHandleIntent(Intent argo0) {
play();
}
public void play(){
try {
Log.i("voila c'est cool","play");
mPlayer.setDataSource(url);
} catch (IOException e) {
e.printStackTrace();
Log.i("test","destroy"); }
mPlayer.start();
}
}
Намерение начать свою службу:
case R.id.play:
Intent intent = new Intent(getActivity(), MusicPlayerService.class);
getActivity().startService(intent);
break;
и, наконец, LOG:
java.lang.RuntimeException: Unable to start service [email protected] with Intent { cmp=com.example.pierr.puremusictest2/.MusicPlayerService }: java.lang.NullPointerException
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2719)
at android.app.ActivityThread.access$2100(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5027)
at java.lang.reflect.Method.invokeNative(Native Method)
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)
Caused by: java.lang.NullPointerException
at android.app.IntentService.onStart(IntentService.java:116)
at android.app.IntentService.onStartCommand(IntentService.java:130)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2702)
at android.app.ActivityThread.access$2100(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5027)
at java.lang.reflect.Method.invokeNative(Native Method)
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)
Вам не нужен вызов 'super.onCreate()' в 'переопределении' onCreate() 'IntentService'. –
Возможный дубликат [Null Pointer exception, начиная IntentService] (http://stackoverflow.com/questions/7165215/null-pointer-exception-starting-intentservice) –
первое решение было правильным! Большое спасибо: D –