나는 안드로이드 서비스를 가지고 있으며, 나는 그것을 활동에 묶었으며, 언 바운드는 파괴되었습니다. 문제는 응용 프로그램이 닫힐 때 아무 것도 시작하지 않는다는 것입니다. 때로는 장치를 켰을 때 가끔 뻔뻔 스러울 때가 있습니다.안드로이드 서비스가 램덤/자동으로 시작됩니다.
활동 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;
}
};
에 대한
을
Intent intent = new Intent(this, Sincronizacao.class);
this.bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
this.startService(intent);
코드를 한 OnCreate 그리고 내 서비스에서
@Override
protected void onDestroy() {
super.onDestroy();
if (serviceBound && mConnection != null) {
unbindService(mConnection);
}
Intent intent = new Intent(this, Sincronizacao.class);
stopService(intent);
localBinder = null;
}
을 파괴, onStartCommand 구현 ... 코드에 도착하자, 거기서 나는 웹 서비스를 쿼리하고 데이터베이스에 데이터를 삽입하는 스레드를 시작하고 스레드는 동안 (사실), 단순히 ... 서비스의 방법을들의 OnDestroy 중단
편집 : 여기
내가 일부이 버그에 어려움을 겪고있어 매니페스트 라인
android:name="com.company.package.service.Sincronizacao" />
입니다 시간은 이미 당신이 나를 도울 수 있기를 바랍니다.
덕분에,
내가 서비스 내에서 ... 문제를 해결할 수 있었다
이 서비스를 호출하는' '가있는 경우'Manifest' 파일을 검사하고 다른 경우에는'Service'가 실제로 파괴되는지 확인하십시오. –
코드에 stopService 또는 stopSelf가 표시되지 않습니다. 서비스를 자동으로 다시 시작합니다. 또한 비정상 종료되는 서비스를 다시 시작하려고 시도합니다. 시스템 종료 방법에 따라 부팅하거나 종료 한 후 다시 시작할 수 있습니다. –
나는 stopService (intent)를 가지고있다; onDestroy 메서드에서 다시 확인하십시오. – RMalke