zip 파일의 압축을 풀고 데이터베이스를 채우려면 DownloadManager.ACTION_DOWNLOAD_COMPLETE 브로드 캐스트를 받고 있습니다. 작업을 수행하는 코드를 작성했습니다. 그러나 스레드를 여기에서 시작해야합니다. 파일 추출 및 데이터베이스에 삽입을 처리합니다.브로드 캐스트 수신기 안쪽에 스레드 안드로이드
브로드 캐스트 수신기에서 스레드를 시작할 수 없다는 것을 알고 있습니다. 어떤 몸이라도 문제가 발생하면 해결 방법을 제안하십시오. 제 작품이 삽입 될 때 시간이 걸리므로 기다리거나 붙잡고 싶지는 않습니다.
방송 수신기 내부
BroadcastReceiver onComplete = new BroadcastReceiver() {
public void onReceive(Context ctxt, Intent intent) {
/*
* check status message whether the last queue is successful and
* completed and then stop self
*/
if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(intent.getAction())) {
Intent mIntent = new Intent(downloadmanager1.this, DBService.class);
mIntent.putExtra("messenger", new Messenger(mHandler));
mIntent.putExtra("enqueue", enqueue);
ctxt.startService(mIntent);
// ctxt.startService(mIntent);
}
}
참고 작동하지 않는이 코드를 작성하는 방송 수신기 내부 스레드와
을 실행하는 동안 나는 예외를 얻고있다 - 예외 또는 오류를 통해없고 어느 쪽도 어느 Intentservice이 시작되지 않습니다 디버깅하는 동안 DDMS
}};
@CommonsWare 방송 수신기 내부의 스레드가 작동하지 않는 이유는 무엇입니까? 내 프로젝트 중 하나에서 같은 문제가 발생했습니다. 설명 해주십시오! – Hardik
@Hardik onReceive()가 완료된 후 브로드 캐스트 리시버가 안드로이드에 의해 대부분 죽임을 당하기 때문에. –