我有一个带有按钮的基本Android应用程序,每次按下该按钮都应在应用程序标准目录(/storage/emulated/0/Android/data/org.qtproject.example.MyApp/files/
)中创建一个文件。
这是每次按键时执行的代码提示:
void MainWindow::on_pushButton_clicked() {
QString filePath = "/storage/emulated/0/Android/data/org.qtproject.example.MyApp/files/" + "file_number_" + QString::number(counter);
QFile myFile(filePath);
if (myFile.open(QIODevice::WriteOnly)) {
myFile.write("foo");
++counter;
} else {
qDebug() << "Unable to open file" << filePath;
}
它应该创建文件“file_number_0”,“file_number_1”,“file number_2”等。但是,它似乎仅适用于第一个文件。多次按下时,它不会创建多个文件,但不会对以下文件引发错误。它不会而不是打印“无法打开文件”。所有文件似乎都已成功打开,但实际上仅在目录中创建了初始文件。
如果删除应用程序目录并在运行时重新创建,则下一个文件将再次成功创建,但随后的文件将不会像开始时那样成功创建。
最佳答案
问题似乎是我正在通过USB从计算机查看文件夹。我认为这与Android的权限系统有些困惑。
我关闭了计算机上的文件浏览器,而是在手机上使用了它,现在它可以工作了。
关于android - 为什么无法在Android上使用Qt在app目录中创建多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64524873/