You must call the MediaScannerConnection.scanFile for all the files you created.
for example
Nexus 4 not showing files via MTP
to call java function you can write the following
#include <QAndroidJniObject>
void CAndroid::rescanFolder(QString dest)
{
QAndroidJniObject java_app("org/programm/java_app");
QAndroidJniObject param = QAndroidJniObject::fromString(dest);
java_app.callMethod<jint>("rescanFolder","(Ljava/lang/String;)I",param.object<jstring>());
}
and modify java code
int rescanFolder(String dest) {
File[] files = new File(dest).listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.isFile();
}
});
if(files!=null)
{
String[] paths = new String[files.length];
for (int co=0; co< files.length; co++)
{
paths[co] = files[co].getAbsolutePath();
}
MediaScannerConnection.scanFile(QtNative.activity(), paths, null, null);
files = new File(dest).listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.isDirectory();
}
});
for (int co=0; co<files.length; co++)
rescanFolder(files[co].getAbsolutePath());
}
return 0;
}