9
我的應用程序下載大型zip文件(100mb +)。我正在使用默認的DownloadManager來幫助下載。 Google API文檔建議註冊一個BroadcastReceiver並監聽ACTION_NOTIFICATION_CLICKED。我這樣做,但我不知道如何從BroadcastReceiver內調用DownloadManager。如何從廣播接收器啓動下載管理器?
我想要做的事情基本上是瀏覽器的功能。當瀏覽器下載文件並且用戶點擊DownloadManager通知時,彈出DownloadManager窗口。我用什麼意圖來完成這個目標?
我的代碼:
<receiver android:name="com.test.receiver.DownloadReceiver">
<intent-filter>
<action android:name="android.intent.action.DOWNLOAD_COMPLETE"></action>
<action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED" />
</intent-filter>
</receiver>
public class DownloadReceiver extends BroadcastReceiver {
private static final String tag = DownloadReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) {
*** code for unzipping removed ***
}
else if (DownloadManager.ACTION_NOTIFICATION_CLICKED.equals(action)) {
// Open the download manager
// BUT HOW???
}