Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath()公有绝对路径

下载:

private void downLoadNewVersion() {    OkHttpUtils.get()            .url(url)            .headers(PackOkHttpUtils.getHeadsMap(this))            .tag(MainActivity.class)            .addParams("version", CommonParamsUtil.getVersion(getApplicationContext()))            .build()            .execute(new FileCallBack(Environment.getExternalStoragePublicDirectory                    (Environment.DIRECTORY_DOWNLOADS).getAbsolutePath(), "ypw.apk") {                @Override                public void inProgress(float progress, long total, int id) {                    super.inProgress(progress, total, id);                    int progressInt = (int) (progress * 100);                    progressDialog.setProgress(progressInt);                }                @Override                public void onError(Call call, Exception e, int id) {                    MyToast.showMessage("下载失败");                    List activities = ((MyAppLication) getApplication()).getActivities();                    for (AppCompatActivity activity : activities) {                        activity.finish();                    }                }                @Override                public void onResponse(File response, int id) {                    SPUtils.putBoolean("VersionUpdate", false);                    progressDialog.dismiss();                    Uri uri = Uri.fromFile(response);                    Intent intent = new Intent(Intent.ACTION_VIEW);                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {//7.0系统                        uri = FileProvider.getUriForFile                                (MainActivity.this, "com.youpinwallet.ypw.provider", response);                        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);//添加这一句表示对目标应用临时授权该Uri所代表的文件                    }                    intent.setDataAndType(uri, "application/vnd.android.package-archive");                    startActivity(intent);                }            });}

AndroidManifest.xml

    android:name="android.support.v4.content.FileProvider"    android:authorities="自己的包名.provider"    android:exported="false"    android:grantUriPermissions="true">            android:name="android.support.FILE_PROVIDER_PATHS"        android:resource="@xml/provider_paths" />


<?xml version="1.0" encoding="utf-8"?>            path="" name="camera_photos" />    



更多相关文章

  1. 运行Android(安卓)Studio时,APP安装失败--Installation failed wi
  2. Android文件下载进度条的实现
  3. android 7.0+下载安装
  4. Android版本更新代码
  5. Android开发环境搭建
  6. android studio 56 下载网络歌曲 代码
  7. Android(安卓)CTS Verifier Sensor Test Cases (1)
  8. AndroidStudio使用NDK报错显示mips64el-linux-android-strip''
  9. ndk 历史版本下载

随机推荐

  1. ASP.NET MVC中传参并绑定数据的实例教程
  2. ASP.NET Core异常和错误处理(8)_实用技巧
  3. Asp.net MVC 对用户输入的字符串做Trim处
  4. ASP.NET Core使用教程(9)_实用技巧
  5. C#中DateTime与时间戳转换的实例代码
  6. Asp.net MVC 对输入的字符串字段做Trim处
  7. C#中自定义控件如何实现TextBox禁止粘贴
  8. 理解Asp.Net中WebForm的生命周期_实用技
  9. C#中如何实现微信红包功能的示例代码分享
  10. 详解VS2015自带LocalDB数据库用法实例