安装raw文件下的apk文件

    有时候我们需要将一些小软件嵌在我们的软件里面,那么我们就可以将这些apk放在我们的raw或者assets文件下进行暂时存储,那么下面我们用放在raw文件下进行展示安装这一过程。
    首先我们要把我们需要隐藏我apk文件放在raw文件下,raw是在res下的一个文件夹,如果没有的同学们可以自己新建一个。
然后第一步我们需要读取到这个apk文件,这里我们的apk文件我取名叫tmp,给出代码:

                File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/app_tmp.apk");
                try {
                    FileUtils.copyInputStreamToFile(getResources().openRawResource(R.raw.tmp), file);
                } catch (Resources.NotFoundException e) {
                } catch (IOException e) {
                }
                install(MainActivity.this, Uri.fromFile(file));

    这里我们获取到了资源,有个FileUtils大家可能没有,这个来自一个jar包,名叫commons_io-2.2.jar,大家可以从网上下载,很容易下载到的,然后install是个方法,就是安装文件的方法,下面给出代码:

    public static void install(Context context, Uri uri) {
        Intent i = new Intent(Intent.ACTION_VIEW);
        i.setDataAndType(uri, "application/vnd.android.package-archive");
        context.startActivity(i);
    }

    到这里就结束了吗?不,我们如果尝试安装的话会报错:解析文件包时出现错误,实际上我们还需要添加权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值