活动onCreate
Intent intent = new Intent(this,Sincronizacao.class);this.bindService(intent,mConnection,Context.BIND_auto_CREATE);this.startService(intent);
mConnection的代码
private ServiceConnection mConnection = new ServiceConnection() { public voID onServiceConnected(Componentname classname,IBinder service) { serviceBound = true; localBinder = (LocalBinder<Sincronizacao>) service; } public voID onServicedisconnected(Componentname classname) { serviceBound = false; localBinder = null; }};
在毁灭
@OverrIDeprotected voID onDestroy() { super.onDestroy(); if (serviceBound && mConnection != null) { unbindService(mConnection); } Intent intent = new Intent(this,Sincronizacao.class); stopService(intent); localBinder = null;}
在我的服务中,onStartCommand被实现,在那里我开始一个线程,它查询一个Web服务并将数据插入到数据库中,该线程有一段时间(true),我只是打断它的onDestroy方法的服务…
编辑:
这是清单行
androID:name="com.company.package.service.Sincronizacao" />
我已经在这个BUG中苦苦挣扎了一段时间,希望你能帮助我.
谢谢,
解决方法 我能够解决问题…在服务中,我将代码从onStartCommand移动到onBind.我没有遇到任何问题,因为我只是在bIDden状态下使用该服务.此外,之前我使用thread.interrupt()停止服务中的Thread,现在我在while中使用了一个标志,并在onUnbind和onDestroy上将其设置为false.
总结以上是内存溢出为你收集整理的Android服务启动ramdomly /自动全部内容,希望文章能够帮你解决Android服务启动ramdomly /自动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)