解决没有SD卡电视端安卓下载路径的问题

      本人在开发电视端的app的过程中,发现安卓自动下载更新的过程中,出现了相当一部分电视机不存在sd卡软件缓存无法下载apk文件的问题,在查看了当贝应用市场的下载源码之后,扣出了没有sd卡的情况下File的创建代码,测试可用。调用代码a("",context)返回File文件即可,第一个参数不需要传值。第二个传输上下文。

 public File a(String var1, Context var2) {
        String a = "";
        String b = "/DBDownload";
        String var3 = Environment.getExternalStorageState();
        boolean var4 = !TextUtils.isEmpty(var3) && var3.equals("mounted");
//        String var5 = Environment.getExternalStorageDirectory().toString().trim() + File.separator + b;
//        boolean var6 = com.dangbei.downloader.b.a.c(var5);
//        if(var4) {
//            if(var6 && this.e() > 200L) {
//                a = var5 + File.separator;
//            } else {
//                a = var2.getCacheDir().toString() + File.separator;
//            }
//        } else {
            a = var2.getCacheDir().toString() + File.separator;
//        }

        File var7 = new File(a);
        if(!var7.exists()) {
            var7.mkdirs();
        }

        this.b(var7.getPath());
//        String var8 = com.dangbei.downloader.b.a.a(var1);
        File var9 = new File(a, ".apk");

        try {
            if(!var9.exists()) {
                var9.createNewFile();
            }

            this.b(var9.getPath());
        } catch (Exception var11) {
            var11.printStackTrace();
        }
        return var9;
    }

    public long e() {
        try {
            File var1 = Environment.getExternalStorageDirectory();
            StatFs var2 = new StatFs(var1.getPath());
            long var3 = (long)var2.getBlockSize();
            long var5 = (long)var2.getAvailableBlocks();
            return var5 * var3 / 1024L / 1024L;
        } catch (Exception var7) {
            var7.printStackTrace();
            return 0L;
        }
    }


    public void b(String var1) {
        try {
            String var2 = "chmod 777 " + var1;
            Runtime var3 = Runtime.getRuntime();
            var3.exec(var2);
        } catch (IOException var4) {
            var4.printStackTrace();
        }

    }

猜你喜欢

转载自blog.csdn.net/weixin_30267253/article/details/79237606