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"
加了上句后程序将会装不上机器,需要给程序签名。
工具下载地址:点击打开链接
本文详细介绍了在Android设备上安装apk程序、自动安装、卸载程序及打开程序的方法,包括使用Intent进行操作的代码示例,并强调了自动安装与卸载程序时的权限需求与注意事项。
2504

被折叠的 条评论
为什么被折叠?



