zoukankan      html  css  js  c++  java
  • 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建立项目,则没有这个问题。

    <?xml version="1.0" encoding="utf-8"?>
    <!-- BEGIN_INCLUDE(manifest) -->
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="%package%"
            android:versionCode="%versionCode%"
            android:versionName="%versionName%"
            android:installLocation="%installLocation%">
    
        <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
        <%uses-permission%>
        <uses-feature android:glEsVersion="0x00020000" android:required="True"/>
        <application android:persistent="%persistent%"
            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加这一行无法编译通过。 
  • 相关阅读:
    Oracle Exadata和Exalogic利弊分析
    几个经常使用的正则验证
    開始开发 Dashboard Widget【翻译】文件夹
    j2ee 框架搭建所需jar包的作用
    【jQuery】复选框的批量处理:全选、非全选
    将 Android* x86 NDK 用于 Eclipse* 并移植 NDK 演示样例应用
    Socket connect error 99(Cannot assign requested address)
    解决w3wp.exe占用CPU和内存问题
    解决w3wp.exe占用CPU和内存问题
    解决w3wp.exe占用CPU和内存问题
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/14294390.html
Copyright © 2011-2022 走看看