为什么我的活动不能重新创建前一个?

时间:2015-05-14 14:20:29

标签: android android-activity savestate onrestoreinstancestate

我有Activity(A)正在下载文件并将数据(某些书名)放入listView。从这Activity(A)我启动另一个Activity(B),我可以用它做一些工作。问题是,当我想回到(A)使用按钮(来自this.finish())呼叫B时,文件会再次开始下载(尽管已经下载了)。 我使用DownloadManager下载文件,使用String[] book放置下载文件的内容。 我尝试保存Activity State,就像这样(我不希望再次下载文件):

protected void onSaveInstanceState(Bundle state) {
   DownloadManager downloadManager = null;
   super.onSaveInstanceState(state);
   state.putStringArray("message", book);
   state.putParcelable("message1", (Parcelable) downloadManager);
}

要重新创建我的Activity,我尝试了这个(我不希望再次下载该文件):

public void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    if (wifiManager.setWifiEnabled(true)) {
        book= savedInstanceState.getStringArray("message");
        downloadReference = savedInstanceState.getParcelable("message1");
    }
}

但是当我想从B回到A时,应用程序崩溃了。任何帮助或提示向我展示如何在不下载文件的情况下每次从B转到A非常受欢迎。谢谢你,卡尔。

0 个答案:

没有答案