当我尝试下载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中我可以看到:
活动com.android.browser.BrowserActivity泄露了最初添加的窗口com.android.internal.policy.impl.PhoneWindow$DecorView@2bff4f40
我该怎么办?
答案 0 :(得分:2)
致电Environment.getExternalStorageState()
以测试是否已安装SD卡。如果没有,请不要开始下载。