加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2023-09-22 14:05:52)
分类: androidios
1.首先给AndroidManifest.xml(清单配置文件)添加权限



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

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

   
                    name="external_storage_root"
            path="."/>
   

 

 

因为我这里软件安装包的位置我用的是外部存储(路径/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(清单配置文件)添加配置

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

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);
     
     
        }

 

好了,今天的教程就到这里啦!喜欢我的教程就点个关注吧,以后有更多干货分享给大家哦。
————————————————
版权声明:本文为CSDN博主「程序员子固」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liujibo520/article/details/122617576

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有