Android 7.0手机下载完后自动安装app

7.0以下版本

在app下载完成后可以直接使用下面的方法直接启动系统安装app



/**

* 安装应用

*/

public void startInstall(Context context, String path) {

    Intent install =new Intent(Intent.ACTION_VIEW);

    install.setDataAndType(Uri.parse("file://" + path), "application/vnd.android.package-archive");

    install.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    context.startActivity(install);

}



7.0以上版本

1、首先需要在manifest下面注册provider如下(这种写法这里是避免其他三方库的provider和自己的冲突,使用了replace)


1

2、在res下面建立一个xml,然后新建一个文件myfile


2

里面内容:(external-path  path可以不用指定)


3

3、7.0的安装方法

/**

* 7.0安装应用

* @param context

*/

public void start7Install(Context context, String path) {

    Uri apkUri = FileProvider.getUriForFile(context, getPackageName()+".provider", new File(path));//在AndroidManifest中的android:authorities值

    Intent install =new Intent(Intent.ACTION_VIEW);

    install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

    install.setDataAndType(apkUri, "application/vnd.android.package-archive");

    startActivity(install);

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,497评论 0 17
  • 在Android7.0之前打开第三方文件是很简单的事情,(如下方这样可直接打开),但是Android 7.0之后我...
    梦乾tool阅读 1,035评论 0 0
  • Intent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识,也非常的重要。 一、什么是Intent...
    困惑困惑困惑阅读 1,540评论 0 0
  • The Undertaker———————————————————— 逝者如斯夫不舍昼夜。每当看到这句话,内心深处...
    想念天空再蓝些阅读 1,749评论 0 1
  • 一 为我们男人说点话,没有打抱不平的意思。 很多时候,男人和女人一起出去吃饭,大部分都是男人买单,可是男人为什么要...
    阿霖先生阅读 947评论 0 0