QFile open错误码是Permission denied
时间: 2023-12-22 11:27:38 浏览: 30
QFile open错误码是Permission denied通常是由于应用程序没有足够的权限来访问所需的文件或目录。这可能是由于Android 6.0及更高版本中的动态权限控制引起的。为了解决这个问题,你可以尝试以下方法:
1.在AndroidManifest.xml文件中添加所需的权限。例如,如果你需要访问外部存储器,则需要添加以下权限:
```xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
2.在运行时请求所需的权限。你可以使用Qt Android Extras模块中的QAndroidPermissions类来请求权限。例如,如果你需要访问外部存储器,则可以使用以下代码:
```cpp
#include <QtAndroidExtras>
...
void requestPermissions()
{
QStringList permissions;
permissions << "android.permission.READ_EXTERNAL_STORAGE"
<< "android.permission.WRITE_EXTERNAL_STORAGE";
QtAndroid::requestPermissionsSync(permissions);
}
```
3.在清单文件的application节点下添加android:requestLegacyExternalStorage="true"。这将启用旧版的外部存储器访问模式,以便应用程序可以访问共享的外部存储器文件。例如:
```xml
<application
android:requestLegacyExternalStorage="true"
...>
...
</application>
```