【发布时间】:2012-03-20 02:39:10
【问题描述】:
当我尝试下载 APK 文件时,我的浏览器崩溃了。我尝试以两种不同的方式做到这一点:
-
调用:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://myUrl/myFile.apk")); startActivity(intent); -
让用户点击
alertDialog中的链接,例如:String myUrl = "http://myUrl/myFile.apk"; final AlertDialog d = new AlertDialog.Builder(context) .setPositiveButton("Dismiss", listener) .setCancelable(false) .setIcon(iconId) .setTitle(title) .setMessage(Html.fromHtml("<a href=\"" + myUrl + "\">MyLink</a>")) .create(); d.show();
无论哪种方式,浏览器都会启动并显示一个对话框,关于保存到 SD 卡的内容,然后对话框消失,没有任何反应。我没有 SD 卡(如果我安装 SD 卡,我没有问题),但如果用户没有 SD 卡,我需要它在不崩溃的情况下工作。
在 Logcat 中我可以看到:
Activity com.android.browser.BrowserActivity 泄露了最初添加在这里的窗口 com.android.internal.policy.impl.PhoneWindow$DecorView@2bff4f40
对此我能做些什么?
【问题讨论】:
-
this 的可能重复项。
-
很抱歉,由于我不认为它是重复的,所以它被关闭了。有人指出,另一个问题是关于解除您自己的警报,我知道它是如何工作的。但也许我应该更清楚地回答我的问题。我想知道为什么浏览器会出现这个问题,如果 SD 卡丢失,它就无法下载文件。由于我完全将下载工作留给了标准浏览器,因此我肯定无法解除浏览器自己的警报。所以问题不是浏览器内存泄漏,而是浏览器下载问题!
标签: android browser download apk