2012-06-20 2 views
9

해결책 : API 11이 필요합니다 아래 답변을 참조하십시오!알림이 사라집니다 - Android DownloadManager

쉬운 질문 : 구현 된 DownloadManager로 파일을 다운로드 한 후 알림이 사라집니다. 다운로드 후에 알림을 강제로 유지하려면 어떻게해야합니까? 코드

public class BgDL extends Activity { 

private DownloadManager mgr = null; 
private long id; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //setContentView(R.layout.main); 

    mgr = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); 

    Request request = new Request(Uri.parse(getIntent().getStringExtra("URL"))); 

    id = mgr.enqueue(request 
      .setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "UPDATE") 
      .setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI|DownloadManager.Request.NETWORK_MOBILE) 
      .setAllowedOverRoaming(false) 
      .setTitle("APP update") 
      .setDescription("New version "+getIntent().getDoubleExtra("OV", 0.0)) 


    ); 

    registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); 

} 
BroadcastReceiver receiver = new BroadcastReceiver() { 


     public void onReceive(Context context, Intent intent) { 
     String action = intent.getAction(); 
     if (action.equals(mgr.ACTION_DOWNLOAD_COMPLETE)){ 
      unregisterReceiver(receiver); 
      finishActivity(99); 
     } 
     } 


}; 

:

EDIT)

나는 VISIBILITY_VISIBLE_NOTIFY_COMPLETED을 사용하려고하지만, 나는이 문제를 해결하는 데 도움이 모든 종류의 것이

감사를 사용하는 방법을 모른다 }

+1

Plz 일부 코드가 게시됩니다. Thnx – CelticParser

+0

또한 어떤 API를 사용합니까? –

+0

@malger, 이것을 해결할 수 있었습니까? 내 알림도 사라집니다. –

답변

21

요청에 올바른 플래그를 추가하십시오.

Request request = new Request(Uri.parse(getIntent().getStringExtra("URL"))); 

request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); 

참조 :

http://developer.android.com/reference/android/app/DownloadManager.Request.html#setNotificationVisibility(int)이 다운로드가 실행되는 동안이나이 완료 될 때 시스템 알림이 다운로드 관리자에 의해 게시 제어 여부를

. 활성화 된 경우 다운로드 관리자는 시스템 NotificationManager를 통해 다운로드에 대한 알림을 게시합니다. 기본적으로 다운로드가 진행 중일 때만 알림이 표시됩니다.

http://developer.android.com/reference/android/app/DownloadManager.Request.html#VISIBILITY_VISIBLE_NOTIFY_COMPLETED

이 다운로드는 볼과 진행 및 완료 후 동안 알림에 표시

.

+0

도움을 주셔서 감사합니다. 그러나 문제는 아직 해결되지 않았습니다! 얻을 : 'VISIBILITY_VISIBLE_NOTIFY_COMPLETED을 (를) 확인할 수 없거나 필드가 아닙니다. – malger

+0

내가 보여준 것처럼 가져와야합니다. 그것은 API – Blundell

+0

에 링크되어 있지만 가져 왔습니다. " import android.app.DownloadManager; import android.app.DownloadManager.Request;" – malger

관련 문제