delphi 10.4.1 在android平台下建立文件无权限  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 10.4.1 在android平台下建立文件无权限


Delphi 10.4.1 在android平台下建立文件无权限
TFileStream.Create(FInstallFileName, fmCreate or fmShareExclusive);

这一句在android下执行,出错,提示:

Cannot create file "/stroage/emulated/0/Documents/com.kinglandsoft.xxx.apk". Permission denied.


10.3.3没有这个问题的,权限够的。

百度查到的资料:

Android 10 创建文件一直报错:Permission denied;

原来 Android 10 改变了文件的存储方式

可以在Androidmainfest 里面的application添加

android:requestLegacyExternalStorage="true"

 按上面的方法解决了!

我为什么在10.3.3正常呢?是因为10.3.3使用的android sdk版本低,换成10.4.1用的是高版本的sdk,os要检查的。试着用Delphi 10.4.1建立新项目,查看AndroidManifest.template.xml,发现已经增加了这一行:android:requestLegacyExternalStorage="true"

就是说,我的项目是10.3.3建立的,如果用10.4.1建立项目,则没有这个问题。

复制代码


        package="%package%"
        android:versionCode="%versionCode%"
        android:versionName="%versionName%"
        android:installLocation="%installLocation%">

    
    <%uses-permission%>
    
             android:restoreAnyVersion="%restoreAnyVersion%"
        android:label="%label%"
        android:debuggable="%debuggable%"
        android:largeHeap="%largeHeap%"
        android:icon="%icon%"
        android:theme="%theme%"
        android:hardwareAccelerated="%hardwareAccelerated%"
        android:resizeableActivity="false"
        android:requestLegacyExternalStorage="true">

后记:注意10.3.3加这一行无法编译通过。 

 

来源:https://www.cnblogs.com/kinglandsoft/p/14294390.html


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.044189929962158 seconds