Android의 DownloadManager를 사용하여 파일을 다운로드하기 위해 IntentService
을 만들었습니다.IntentService의 registerReceiver가 BroadcastReceiver에 맞지 않습니다.
<service
android:name=".services.DownloadService"
android:enabled="true" >
</service>
BroadcastReceiver(function())
내부의 코드는 결코 파일이 다운로드되는 경우에도 실행되지 않은 : 나는 매니페스트에서이 항목을했습니다
public class DownloadService extends IntentService {
public DownloadService() {
super("name");
}
BroadcastReceiver onComplete = new BroadcastReceiver() {
public void onReceive(Context ctxt, Intent intent) {
function();
}
};
@Override
protected void onHandleIntent(Intent intent) {
registerReceiver(onComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
Utility.download(someURL);
}
}
: 다음은 내 클래스입니다. 나는 또한 IntentService
대신 Service
에서 같은 일을 시도했다. IntentService에서 BroadcastReceiver 작업을 수행하려면 어떻게해야합니까?
브로드 캐스트 리시버를 프로그래밍 방식으로 설정하는 대신 Android 매니페스트에 등록해야한다고 생각합니다. 시스템에서 애플리케이션이 DownloadManager.ACTION_DOWNLOAD_COMPLETE 인 텐트를 처리 할 수 있어야 함을 알고 있어야합니다. – Entreco
http://stackoverflow.com/questions/26754302/registerreceiver-inside-intentservice-tracking-smsmanager –