Android 升级apk 兼容6.0 7.0
2017-06-09 00:40
267 查看
其实,这块内容网上有很多,但我还是提倡用android 自带的DownloadManager,我们先来了解下DownloadManager的用法。
1.获取DownloadManager:
2.声明一个请求类
3.将请求加入请求队列,开始下载
4.移除这个下载任务请求(这个很重要,不然你下载完后,取消安装,再次下载时,你获取的当前下载进度就会出错。所以,你在第一次下载完后,一定要调如下函数)
5.获取下载任务信息
DownManager会对所有的现在任务进行保存管理,这时候就要用到DownManager.Query对象,通过此对象,我们可以查询所有下载任务信息。
setFilterById(long… ids):根据任务编号查询下载任务信息
setFilterByStatus(int flags):根据下载状态查询下载任务
6.获取当前下载的字节数,总共字节数。
7.android 6.0兼容,这个自己写个权限判断就行了。
8.android 7.0的兼容
@xml/filepaths :这个文件是在layout下,创建一个xml文件夹,在创建一个filepaths.xml 文件,filepaths.xml 内容如下:
最后当然是Demo链接地址下载:
http://download.csdn.net/detail/jimtrency/9866203
1.获取DownloadManager:
downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
2.声明一个请求类
//获取一个下载请求 DownloadManager.Request request = new DownloadManager.Request() //设置wifi,流量都可以下载 request.setAllowedNetworkTypes(); //漫游网络是否可以下载 request.setAllowedOverRoaming(); //在通知栏中显示标题,默认就是显示的 request.setTitle(); //设置隐藏通知栏下载 request.setNotificationVisibility(); //设置下载路径 request.setDestinationInExternalPublicDir();
3.将请求加入请求队列,开始下载
//加入下载队列后会给该任务返回一个long型的id, //通过该id可以取消任务,重启任务等等 mTaskId = downloadManager.enqueue(request);
4.移除这个下载任务请求(这个很重要,不然你下载完后,取消安装,再次下载时,你获取的当前下载进度就会出错。所以,你在第一次下载完后,一定要调如下函数)
downloadManager.remove(mTaskId)
5.获取下载任务信息
DownManager会对所有的现在任务进行保存管理,这时候就要用到DownManager.Query对象,通过此对象,我们可以查询所有下载任务信息。
setFilterById(long… ids):根据任务编号查询下载任务信息
setFilterByStatus(int flags):根据下载状态查询下载任务
DownloadManager.Query query = new DownloadManager.Query(); query.setFilterByStatus(status); Cursor cursor= downManager.query(query);
6.获取当前下载的字节数,总共字节数。
long curBytes = cursor .getLong(cursor.getColumnIndexOrThrow(DownloadManager.COLU MN_BYTES_DOWNLOADED_SO_FAR)); long totalBytes = cursor .getLong(cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_TOTAL_SIZE_BYTES)); float mProgress = ((float) (curBytes * 100) / totalBytes);
7.android 6.0兼容,这个自己写个权限判断就行了。
8.android 7.0的兼容
<provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/filepaths" /> </provider>
@xml/filepaths :这个文件是在layout下,创建一个xml文件夹,在创建一个filepaths.xml 文件,filepaths.xml 内容如下:
<?xml version="1.0" encoding="utf-8"?> <paths> <external-path name="external_storage_root" path="." /> </paths>
最后当然是Demo链接地址下载:
http://download.csdn.net/detail/jimtrency/9866203
相关文章推荐
- Android apk升级 兼容6.0 7.0 低版本 华为手机
- 兼容Android系统7.0,升级安装apk
- android 使用FileProvider 兼容apk 在7.0版本无法安装
- 安装 assets 中的apk ,兼容6.0权限 处理7.0的崩溃
- Android 升级安装APK兼容Android7.0,解决FileUriExposedException
- Android拍照及图片裁剪、调用系统相册(兼容6.0以上权限处理及7.0以上文件管理)
- android代码调用安装apk(兼容7.0)
- 超实用的Andoird圆形头像设置 —— 实现相机、相册选择并裁剪尽在一行代码之间(兼容Android6.0/7.0)
- Android7.0的手机升级安装APK时,出现FileUriExposedException错误
- 兼容Android 7.0/6.0 启动系统相机/相册 选择图片方法
- android app版本升级(DownloadManager、适配6.0、7.0)
- Android圆形头像设置(实现相机、相册选择并裁剪)兼容6.0/7.0
- Android调用系统相机、相册功能,适配6.0权限获取以及7.0以后获取URI(兼容多版本)
- 升级安装兼容7.0 Android N
- Android 7.0 app升级内部安装apk—FileProvider使用
- android-goldfish-2.6.29升级到android-goldfish-3.4之后, 普通权限的apk读logs时只能读到自己的打印信息
- android 应用升级 下载安装包 完成后 自动安装apk文件
- Android apk增量升级
- android apk版本自动检测升级,安装
- Android APK多线程下载自升级实现