随着android 7.0的普及android 8.0的也逐渐流行起来,那么google对权限方面又有了新的修改.而且我发现在android8.0中除了一些bug,比如说:在小米6(Android 8.0系统)中无法自动安装的问题,那么之前做的更新系统就要稍微调整下. 那根据android 8.0我们重新理一下更新的思路: 1.写一个接口调用是否有更新,可以读取版本号后台判断是否有更新,也可拉去最新信息,app内部判断: 2.创建网络监听,监听网络变化,在application中初始化, 3.创…
在更新操作时,下载新apk之后,往往需要自动安装新apk,用以下代码即可安装下载在本地的apk文件(apkFile) Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive"); startActivity(intent); //////…
一.背景 二.步骤 一.背景 很多时候,APK文件只存在于应用市场,在PC上无法直接下载.用手机下载下来后就直接安装了,也不能保存原始的APK文件. APK安装到手机后,Android系统会保存一份和原始APK一模一样的拷贝,位于data/app目录,文件名为“APK的包名-1.apk”或者“APK的包名-2.apk”.这里的包名即 package name,形如 com.xxx.xxx. data/app这个目录在非root的情况下,是无法直接查看的.但幸运的是,这个目录下所有的APK文件,是…
安装: ? 1 2 3 4 5 String str = "/CanavaCancel.apk"; String fileName = Environment.getExternalStorageDirectory() + str; Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.an…
一.错误描述 今天测试MM用HTC手机测试某个模块的时候crash了,抓log后发现是使用DownloadManager下载apk安装包然后自动安装的时候,抛了异常:java.lang.IllegalArgumentException: Expected file scheme in URI: content://downloads/my_downloads/12 具体crash错误信息如下所示: 11-30 09:24:21.933 28279 28279 E AndroidRuntime:…
android6.0 参考一:简书Android 6.0 新特性详解 参考二:关于Android6.0以上系统的权限问题 参考三:值得你关注的Android6.0上的重要变化(一) 参考四:值得你关注的Android6.0上的重要变化(二) 参考五:Android从1.0到 6.0各版本的差别 参考六:Android历史版本 版本号对照 版本分布(截止到2017.11) 参考七:Android发展史(Android各版本特性-技术篇)(至android6.0) 参考八: 了解Android已发布…
1.一些公司开发完一款App之后可能并不会去上架App商店,但事后期也需要定时进行维护更新,所以会选择把打包好的apk 发布到自己的服务器,然后在数据库建一个版本号的表,然后剩下的就交给你android开发了,android自己要实现版本检测更新,由于android自带的DownloadManager 就可以实现下载功能,用起来就会很简单了,不用再写很多下载等相关代码了,不过在下载完有的是在通知栏通知,然后用户自己手动点击进行安装,有的是下载完自己就进入安装状态了,用户只需要确认安装就可以了,但…
场景:实现自动安装apk程序 注意:不能使用 intent.setDataAndType(Uri.parse(apkPath),  "application/vnd.android.package-archive"); 看代码: /** * 打开APK程序代码 * @param apkPath */ public void openFile(String apkPath) { Toast.makeText(mContext, "开始进行安装", Toast.LENG…
前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxPermission.这里不再介绍Android 6.0运行时权限了,直接看下如何使用RxPermission. 权限管理相关博客: Android权限管理之Permission权限机制及使用 Android权限管理之Android 6.0运行时权限及解决办法 Android权限管理之RxPermis…
一.前言 app在线更新是一个比较常见需求,新版本发布时,用户进入我们的app,就会弹出更新提示框,第一时间更新新版本app.在线更新分为以下几个步骤: 1, 通过接口获取线上版本号,versionCode 2, 比较线上的versionCode 和本地的versionCode,弹出更新窗口 3, 下载APK文件(文件下载) 4,安装APK 在线更新就上面几个步骤,前2步比较简单,重要的就是后2个步骤,而由于Android 各个版本对权限和隐私的收归和保护,因此,会出现各种的适配问题,因此本文就…