如何指定外部存储路径?

时间:2017-05-26 07:16:35

标签: android

如何在我的代码中指定自己的下载文件夹路径?

路径:

 static File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
static File ApkFileDirectory = new File(dir, "update.apk");

代码:

 Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(
                Uri.fromFile(new File(Environment
                        .getExternalStorageDirectory()
                        + "/download/"
                        + "update.apk")),
                "application/vnd.android.package-archive");
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);

我想在我的代码中使用ApkFileDirectory

我试过这个,但我收到错误“无法解析构造函数”

`  Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(
                Uri.fromFile(new File(ApkFileDirectory),
                "application/vnd.android.package-archive");
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);`

1 个答案:

答案 0 :(得分:0)

可以设置EXTERNAL存储的路径。以下是我们使用它的步骤有一个缺点,那就是如果你想在这个设计中使用INTERNAL存储,数据库的名称前面将加上单词nullPassWord,其中PassWord是数据库的名称 第一步是在创建数据库之前创建路径并将该String值发送到DBHelper类。

使用此代码在任何活动中定义字符串

 public static String THE_PATH;

然后在同一个Activity中定义该路径

        File removable = ContextCompat.getExternalFilesDirs(this, null)[1];
        THE_PATH = String.valueOf(removable);

        if(THE_PATH.contains("Android")){
            THE_PATH = THE_PATH + "/Documents/";
        }

然后在您的DBHelper类中导入对String THE_PATH的引用 并在创建数据库时使用它

 public static final String DB_NAME = THE_PATH + "PassWord";

这里的技巧是在填充字符串THE_PATH之前不要创建数据库