软件编程
位置:首页>> 软件编程>> Android编程>> Android调用应用安装界面方法

Android调用应用安装界面方法

作者:程序员子固  发布时间:2021-05-25 18:29:20 

标签:Android,安装,界面

今天来教大家android如何跳转系统安装界面

1.首先给AndroidManifest.xml(清单配置文件)添加权限

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

2.在res下创建一个xml包,用于后面给清单配置文件添加路径

Android调用应用安装界面方法

Android调用应用安装界面方法

3.在xml包下创建一个xml文件

<paths>
   <external-files-path
       name="external_storage_root"
       path="."/>
</paths>

Android调用应用安装界面方法

Android调用应用安装界面方法

因为我这里软件安装包的位置我用的是外部存储(路径/storage/emulated/0/Android/data/包名/files/名字)所以我选择用external-files-path

其他存储路径的格式如下

(1)files-path:
对应物理路径:getFilesDir(
对应具体路径:/data/user/0/包名/files
(2)cache-path:
对应物理路径:getCacheDir()
对应具体路径:/data/user/0/包名/cache
(3)external-path:
对应物理路径:Environment.getExternalStorageDirectory()
对应具体路径:/storage/emulated/0
(4)external-files-path:
对应物理路径:getExternalFilesDir("名字")
对应具体路径:/storage/emulated/0/Android/data/包名/files/名字
(5)external-cache-path:
对应物理路径:getExternalCacheDir()
对应具体路径:/storage/emulated/0/Android/data/包名/cache

4.在AndroidManifest.xml(清单配置文件)添加配置

<provider
           android:exported="false"
           android:grantUriPermissions="true"
           android:name="androidx.core.content.FileProvider"
           android:authorities="起一个独特的名字.fileprovider">
           <meta-data
               android:name="android.support.FILE_PROVIDER_PATHS"
               android:resource="@xml/provider_paths"
               />
       </provider>

Android调用应用安装界面方法

5.在java文件添加隐式意图和权限代码   

private void iniAPK() {
       Intent intent = new Intent(Intent.ACTION_VIEW);
       intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { // 7.0+以上版本
           Uri apkUri = FileProvider.getUriForFile(this, "这是清单配置文件文件起的独特的名字.fileprovider", file);  
           intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
           intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
       } else {
           intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
       }
      this.startActivity(intent);

}

Android调用应用安装界面方法

来源:https://blog.csdn.net/liujibo520/article/details/122617576

0
投稿

猜你喜欢

  • 前言早在2011年它作为安卓兼容库发布,在75%的应用中使用过,是最广泛使用的安卓库。它事实上不是一个单一的文件,而是一个集合,其中可以大致
  • 如何将jar包打包到指定目录今天分享一下springboot将jar包打包到指定目录下。由于之前上线都是一个打包到一个jar,由于服务多了,
  •     年前无意看到一个用Python写的小桌面程序,可以自动玩扫雷的游戏,觉得挺有意思,决定用C#也做一个。【真实情况
  • 前言天空盒这个效果最早是在腾讯的实景地图里看到的,当时觉得很牛逼,但是没有想过自己去实现以下。最近这段时间对opengl很有兴趣,顺便就搞了
  • 最近项目中使用springboot+jwt实现登录权限控制,所以在这里记录一下防止以后忘记,毕竟好记性不如烂笔头嘛~。首先我们需要导入使用到
  • 数组与链表的比较:数组通过下标访问的话是O(1)数组一旦声明 长度就是固定的数组的数据是物理逻辑均连续的链表增删要快一些, 数组遍历快一些长
  • 本文实例为大家分享了Android实现五子棋游戏的具体代码,供大家参考,具体内容如下实现环境:  android studio 3
  • 做消息通信,消息会不断从网络流中取得,而后台也有线程不断消费。本来我一直是使用一些线程安全标识或方法来控制,后来在网上找到一些java新特性
  • 目录Update计时器Invoke协程DoTween最开始接触unity的时候,我做延时都是在update里做计时器。后来才发现,我屮艸芔茻
  • 项目源码:https://gitee.com/tanwubo/jwt-spring-security-demo登录通过自定义的WxApple
  • 前言:其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组、List等等来写出
  • 一、引入类型别名当配置 XML 文件,需要指明Java类型时,类型别名可替代Java类型的全名,一般会设置一个简单缩写的类型别名去替代它,用
  • 意图:想将项目用到的两个dll库文件(CryptEnDe.dll和ICSharpCode.SharpZipLib.dll)一同编译进exe中
  • 本文实例为大家分享了使用OkHttp发送post请求的具体代码,供大家参考,具体内容如下MainActivity.javapublic cl
  • 实现功能实现使用FTP上传、下载、重命名、刷新、删除功能开发环境开发工具: Visual Studio 2013.NET Framework
  • 介绍在 C/C++ 中,程序员负责对象的创建和销毁。通常程序员会忽略无用对象的销毁。由于这种疏忽,在某些时候,为了创建新对象,可能没有足够的
  • 本文实例为大家分享了C#实现温度转换功能的具体代码,供大家参考,具体内容如下界面图代码using System;using System.C
  • 本文分享的示例代码实现提取2个集合中相同和不同的元素此处需要使用Collection集合所提供的一个方法:removeAll(Cellect
  • 下面一段代码准确的介绍了java实现单链表逆序,具体内容就不做详解了,有需要的朋友可以直接拷贝了package com.ckw.miansh
  • 本篇紧接上一篇内容继续,还是从继承里的细节开始1.代码块初始化关于代码块的定义和使用因为之前已经进行过介绍,所以这里就不再赘述,我们所关注的
手机版 软件编程 asp之家 www.aspxhome.com