Android服务启动ramdomly 自动

Android服务启动ramdomly 自动,第1张

概述我有一个 android服务,我将它绑定到一个活动,并在destroy上解除绑定.问题是,当应用程序关闭时,它从无中断开始,有时当我打开设备时,有时候我会知道它开始是因为吐司的消息.让我们来看看代码…… 活动onCreate Intent intent = new Intent(this, Sincronizacao.class);this.bindService(intent, mConnec 我有一个 android服务,我将它绑定到一个活动,并在destroy上解除绑定.问题是,当应用程序关闭时,它从无中断开始,有时当我打开设备时,有时候我会知道它开始是因为吐司的消息.让我们来看看代码……

活动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 /自动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1127207.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存