app自动更新安装完毕并打开
2017-06-30 11:51
246 查看
直接代码复制吧 从下载apk开始
private void downloadAPK() { // // 判断sd卡状态是否正常 // if (!Environment.getExternalStorageState().equals( // Environment.MEDIA_MOUNTED)) { // Toast.makeText(getApplicationContext(), "sd卡异常", Toast.LENGTH_SHORT).show(); // return; // } final ProgressDialog pDialog = new ProgressDialog(this); // 设置进度条为横向进度条 pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); // pDialog.show(); pDialog.setCanceledOnTouchOutside(false); //点击progress以外的地方不消失 OkHttpUtils .get() .url(Global.UPGRADE_NEW) .build() .execute(new FileCallBack(Environment.getExternalStorageDirectory().getAbsolutePath(), "universe3000.apk") { @Override public void onError(Call call, Exception e, int id) { // 下载失败后进度条消失 pDialog.dismiss(); } @Override public void onResponse(File response, int id) { installAPK(response); } @Override public void inProgress(float progress, long total, int id) { super.inProgress(progress, total, id); pDialog.setMax(100); pDialog.setProgress((int) (progress * 100)); } @Override public void onBefore(okhttp3.Request request, int id) { super.onBefore(request, id); pDialog.show(); } }); } /* * 安装apk * * @param apkFile */ private static final int REQUEST_CODE_INSTALL = 1001; protected void installAPK(File apkFile) { // 隐式调用系统的安装页面 // <intent-filter> // <action android:name="android.intent.action.VIEW" /> // <category android:name="android.intent.category.DEFAULT" /> // <data android:scheme="content" /> // <data android:scheme="file" /> // <data android:mimeType="application/vnd.android.package-archive" /> // </intent-filter>
Intent intent = new Intent(); if(Build.VERSION.SDK_INT>=24) { //判读版本是否在7.0以上 //添加这一句表示对目标应用临时授权该Uri所代表的文件 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); }else { // intent.setAction("android.intent.action.VIEW"); intent.setAction(Intent.ACTION_VIEW); intent.addCategory("android.intent.category.DEFAULT"); } intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivityForResult(intent, REQUEST_CODE_INSTALL); }
相关文章推荐
- android的APP自动更新程序,检测版本,然后下载安装,但app安装后不提示“完成,打开”?
- android app升级(下载)完毕后自动弹出安装界面的实现
- 自动更新下载完APK时,提示选择打开方式不直接安装
- HTML5打开本地app应用的方法,如果你的手机上安装App,就会自动打app,否则在页面上会提示你进行下载app
- 求助!!用vue做了一款app,怎么实现打开app自动检测下载更新的功能呢
- 安装app后自动打开
- Windows 7 x64 MSDN版 安装完毕自动更新一直子检查更新问题解决方法
- android在下载app后自动安装,安装完成后不会弹出打开或完成界面
- 安卓APP版本更新及自动打开
- Android自动更新安装后显示‘完成’‘打开’按钮
- 安卓APP版本更新及自动打开
- Android中自己实现App一打开判断是否有更新,并通过依赖AutoInstaller实现自动更新
- ionic3 实现app版本更新下载并打开进行安装
- 软件更新后自动打开app
- Android版本更新完毕自动开启APP应用
- Android APP更新——service后台下载、进度提示、自动安装
- IOS开发判断是否第一次使用软件且下次app自动更新后再次打开还是第一次使用
- Android在一个app中实现另一个app的自动安装,安装完成后自动打开(需Root)
- Android 自动更新APP时确定安装后没有显示安装完成页面
- android中程序更新下载完成后自动跳转安装界面