apk程序的安装、卸载、打开。

本文详细介绍了在Android设备上安装apk程序、自动安装、卸载程序及打开程序的方法,包括使用Intent进行操作的代码示例,并强调了自动安装与卸载程序时的权限需求与注意事项。

1.安装apk程序

   Intent intent=new Intent();
   intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   intent.setAction(Intent.ACTION_VIEW);
   intent.setDataAndType(Uri.fromFile(new File(”此处写apk路径”),"application/vnd.android.package-archive");
   context.startActivity(intent);

 自动安装更新,需要签名

		Intent intent = new Intent();
		intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
		intent.putExtra("com.android.packageinstaller.applicationInfo", pm
				.getPackageArchiveInfo(getApkFile().getPath(),
						PackageManager.GET_ACTIVITIES).applicationInfo);
		intent.setData(Uri.fromFile(file));
		intent.setClassName("com.android.packageinstaller",
				"com.android.packageinstaller.InstallAppProgress");

2.卸载程序

    Intent intent=new Intent(Intent.ACTION_DELETE,Uri.parse("package:"+此处为要卸载的程序的包名));
    context.startActivity(intent);

3.打开程序

PackageManager pm=getPackageManager();

Intent intent=new Intent();

   intent=pm.getLaunchIntentForPackage("此处写要打开的程序的包名");
   startActivity(intent);

第二种打开方式:

     ComponentName cn =new ComponentName(“此处填包名”, “此处填 包名.启动类名”);
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
                Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
    intent.setComponent(cn);
    startActivity(intent);


打开程序命令:am start -n com.android.settings/com.android.settings.Settings

其中com.android.settings/com.android.settings.Settings 指 包名/启动类名


4.自动安装

        Intent intent = new Intent();
//        intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "1.apk"))
//                , "application/vnd.android.package-archive");
        intent.putExtra("com.android.packageinstaller.applicationInfo",
                    pm.getPackageArchiveInfo("/sdcard/1.apk", PackageManager.GET_ACTIVITIES).applicationInfo);
        intent.setData(Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "1.apk")));
        intent.setClassName("com.android.packageinstaller", "com.android.packageinstaller.InstallAppProgress");
        startActivity(intent);
上面代码能实现直接安装程序,不需要点击确定、安装的。需要系统权限,在AndroidMainifest.xml文件中添加android:sharedUserId="android.uid.system"

加了上句后程序将会装不上机器,需要给程序签名。

工具下载地址:点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值