之前的打开方式:
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
String type = getMIMEType(myTempFile);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(myTempFile), type);
activity.startActivityForResult(intent, 1);
dialog.dismiss();
activity.finish();
现在的打开方式:
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
String type = getMIMEType(myTempFile);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(myTempFile), type);
intent.setClassName("com.android.packageinstaller", "com.android.packageinstaller.PackageInstallerActivity");
activity.startActivityForResult(intent, 1);
dialog.dismiss();
activity.finish();
只加了一条
intent.setClassName("com.android.packageinstaller", "com.android.packageinstaller.PackageInstallerActivity");
用户中可以打开.apk文件的有很多应用,你不能让傻逼的用户知道这时候该怎么处理,所以就在代码中指定由系统安装器打开就好。
其实只要在startActivity之前设置一下,直接指定用什么安装就好,如果那些手机连系统安装器都没有了,我觉得太奇葩就不用管了
后续把更新直接定义到蒲公英的链接,更新时调用浏览器打开,规避了在自己app中下载的问题.即省代码,又少了上线的操作.以及各种问题.完美