我的服务无法启动。
我在我的服务中使用了以下onCreate
方法:
public void onCreate(Bundle savedInstanceState){
wsConnection = new WSConnection();
handler = new Handler();
Bundle b = savedInstanceState;
this.dbManager = b.getParcelable("object");
super.onCreate();
Log.i("prova","servizio attivato");
TimerTask task = new TimerTask(){
public void run(){
FindPendingData();
}
};
timer = new Timer();
//timer.schedule(task, cal.getTime());
timer.schedule(task, 0, 30000);
}
while,以下代码启动我的服务:
Intent intent = new Intent(this, myService.class);
intent.putExtra("object", myObject);
startService(intent);
对象扩展Object
并实现Parcelable
我也在Manifest中声明:
<service android:name="myPackage.myService" />
知道问题可能在哪里?
编辑:我尝试删除Bundle参数,现在服务启动了!但我不明白为什么!有人可以帮帮我吗?
答案 0 :(得分:0)
使用onStartCommand(Intent, int, int)或onStart()而非onCreate of Service将Intent数据作为:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// get intent data here
return START_STICKY;
}
如评论OP所说:
没有错误。我总是使用这段代码来启动服务 这很好用
但如果我们在文档onCreate()中看到,如果您要覆盖它,则不会采用任何参数