androd之apk的安装与卸载

版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/generallizhong/article/details/100551183

一、 apk安装过程(普通安装):

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");//file是apk存放路径
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

但是在安装的过程需要注意权限问题,否则会出现解析包出错:需要给下载好的apk设置可操作的权限

权限设置办法有两个: 

1、在创建包文件的时候赋予权限,

FileOutputStream fileos = context.openFileOutput(apkName,  localfile.length()),Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);  /* 最后一个参数即为权限 */

因为FileOutputStream不支持对文件的随机访问, 因此若在网络下载过程使用就不能支持断点续传。

2、在安装包之前给包加上执行权限。 具体方法如下:

String cmd = "chmod 755 " +path; /* 755 权限是对apk自身应用具有所有权限, 对组和其他用户具有读和执行权限 */
try {
  Runtime.getRuntime().exec(cmd);
} catch (Exception e) {
  e.printStackTrace();
}   


二、apk卸载:

Uri packageURI = Uri.parse("package:com.demo.aa");   
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);   
startActivity(uninstallIntent);

猜你喜欢

转载自blog.csdn.net/generallizhong/article/details/100551183