La mia applicazione scarica file zip di grandi dimensioni (100mb +). Sto usando il DownloadManager predefinito per facilitare il download. I documenti dell'API di Google suggeriscono di registrare un BroadcastReceiver e di ascoltare ACTION_NOTIFICATION_CLICKED. Lo sto facendo, ma non ho idea di come chiamare DownloadManager da BroadcastReceiver.Come avviare il download manager dal Broadcast Receiver?
Quello che voglio fare è fondamentalmente ciò che fa il browser. Quando il browser scarica un file e l'utente fa clic sulla notifica DownloadManager, viene visualizzata la finestra DownloadManager. Quale intenzione uso per realizzare questo?
My Code:
<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???
}