很多网友可能需要自己下载APK并实现安装,这里说下Android123早期的APK安装器中的APK文件安装代码实现,其实整个实现比较简单,但可以 清晰说明Android平台的隐式Intent。在系统安装的底层常规的应用通过系统服务PackageInstaller来识别程序安装的Intent 来执行安装。
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse("file://"+ "/sdcard/android123.com/cwj.apk","application/vnd.android.package-archive"); startActivity(intent);
PackageInstaller服务将会在内部匹配MIME类型为application/vnd.android.package-archive的 Intent,要说明的是setDataAndType的参数第一个为URI,其实URI内部的String对应为file://加上常规的路径,比如 file:///sdcard/android123.com/cwj.apk ,当然其他的Uri构造方法还可以Uri.fromFile(new File(sfileFullPath))。