2017-05-26 67 views
0

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

路径:

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);` 
+0

试试这个:'公共静态最后弦乐ApkFileDirectory = Environment.getExternalStorageDirectory()getAbsolutePath() +文件分割符+“下载”;' –

回答

0

是可能的路径设置到外部存储器。下面是我们使用的步骤,它有一个缺点,那就是如果你想在这个设计中使用INTERNAL存储,那么数据库的名称前面会加上nullPassWord,其中PassWord是数据库的名称 第一步是在数据库之前创建了您创建路径并将该字符串值发送到您的DBHelper类。

使用此代码来定义字符串的任何活动

public static String THE_PATH; 

然后定义路径在同一活动这样

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

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

然后在你的DBHelper类导入参考字符串THE_PATH 并使用在创建数据库

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

这里的技巧是不创建数据库,直到字符串THE_PATH填充