使用Firebase多次下载文件时手机重新启动

时间:2017-01-28 15:06:49

标签: android firebase firebase-storage

我正在尝试下载文件(大小 - 4 MB,extenssion - .apk)。下载完成后,我会将其交给Android的安装经理来完成它的工作。现在我的问题是,如果我多次下载文件(4到5次),我的手机就会重新启动。

用户界面流程

我有一个按钮"下载"作为文本,点击它,我执行以下代码:

static void downloadApp(Activity context, StorageReference storageRef, String fileName) throws IOException {
    File localFile = new File(Environment.getExternalStorageDirectory() + File.separator + fileName);
    localFile.createNewFile();
    storageRef.child(fileName)
            .getFile(localFile)
            .addOnSuccessListener(taskSnapshot -> installApp(context, localFile))
            .addOnFailureListener(Crashlytics::logException);
}

下载成功后,我正在尝试安装以下应用程序:

private static void installApp(Activity context, File apkFile) {
    Intent installIntent = new Intent(Intent.ACTION_VIEW);
    installIntent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
    context.startActivity(installIntent);
}

安装管理器打开后,我点击"取消"按钮返回并单击"下载"按钮再次。

如果我重复该步骤4次(有时是5次),我的手机会重新启动。

请让我知道我做错了什么。我猜它是Firebase SDK的一个缺陷,因为我在这里仔细阅读了文档指南。即使我的代码中存在错误,它应该抛出任何异常,或者在最坏的情况下抛出错误(可能是OutOfMemory),而是重新启动。 (对我的用户来说是一次非常糟糕的经历)

0 个答案:

没有答案