7.0以下版本
在app下载完成后可以直接使用下面的方法直接启动系统安装app
/**
* 安装应用
*/
public void startInstall(Context context, String path) {
Intent install = new Intent(Intent.ACTION_VIEW);
install.setDataAndType(Uri.parse("file://" + path), "application/vnd.android.package-archive");
install.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(install);
}
7.0以上版本
1、首先需要在manifest下面注册provider如下(这种写法这里是避免其他三方库的provider和自己的冲突,使用了replace)
1
2、在res下面建立一个xml,然后新建一个文件myfile
2
里面内容:(external-path path可以不用指定)
3
3、7.0的安装方法
/**
* 7.0安装应用
* @param context
*/
public void start7Install(Context context, String path) {
//在AndroidManifest中的android:authorities值
Uri apkUri = FileProvider.getUriForFile(context, getPackageName()+".provider", new File(path));
Intent install = new Intent(Intent.ACTION_VIEW);
install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
install.setDataAndType(apkUri, "application/vnd.android.package-archive");
startActivity(install);
}
网友评论