我有一个 android 服务,我将它绑定到一个活动,并且在销毁时未绑定。问题是,当应用程序关闭时,它会从无到有,有时当我打开设备时,有时会随机启动,我知道它是由于 toast 消息而启动的。让我们进入代码...
创建活动
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;
}
};
并在销毁
@Override
protected void onDestroy() {
super.onDestroy();
if (serviceBound && mConnection != null) {
unbindService(mConnection);
}
Intent intent = new Intent(this, Sincronizacao.class);
stopService(intent);
localBinder = null;
}
在我的服务中,实现了 onStartCommand,在那里我启动了一个查询 Web 服务并将数据插入数据库的线程,该线程有一段时间(真),我只是中断它服务的 onDestroy 方法......
编辑:
这是清单行
android:name="com.company.package.service.Sincronizacao" />
我已经在这个错误中挣扎了一段时间,希望你能帮助我。
谢谢,