我有__name@dasherize__.component.html包含内容的ng 原理图模板:
Run Code Online (Sandbox Code Playgroud)<% for (let row of getComponents().rows) { %> <div class="row"> <% for (let field of row.fields) { %> <% if (field.type === 'InputString') { %> <field labelCode="code" class="col-sm-6 col-md-3"> <input name="code" ngModel [readonly]="readOnly"> </field> <% } %> <% } %> </div> <% } %>
我用以下方法构建它:
npm run build
schematics .:ui-generator --name=hello
Run Code Online (Sandbox Code Playgroud)
生成的代码在模板中放置命令“<%”的地方创建空行,请参见:
Run Code Online (Sandbox Code Playgroud)<div class="row"> <field labelCode="code" class="col-sm-6 col-md-3"> <input name="code" ngModel [readonly]="readOnly"> </field> <field labelCode="code" class="col-sm-6 col-md-3"> <input name="code" ngModel [readonly]="readOnly"> </field> <field labelCode="code" class="col-sm-6 col-md-3"> …
在我的应用程序中,我使用本机函数fdopendir。从java我得到文件描述符,并将其放入这个函数中。使用它的结果我可以读取目录的内容。在 android 11 上,列出目录时我只看到媒体文件。如何使用存储访问框架获取完整文件列表?
这是我的代码:
在本机代码中,我使用readdir迭代目录条目。dirp 是我自己的结构,其中包含指向标准 DIR 结构的指针。
struct dirent* dentry = readdir(dirp->dir);
Run Code Online (Sandbox Code Playgroud)
为了获得 DIR 结构,我跳转到 Java 来获取文件描述符
DIR *AndroidStorage_OpenDir(const char *folder) {
jstring string = jvmEnv->NewStringUTF(folder);
int fd = jvmEnv->CallIntMethod( jvmCallbackThread, JavaOpenDir, string);
jvmEnv->DeleteLocalRef(string);
return fdopendir(fd);
}
Run Code Online (Sandbox Code Playgroud)
在Java中,我使用SAF方法来获取整数文件描述符,然后将其返回给C++
public static int openDir(String path) {
Uri uri = uriCache.get(path);
if (uri == null) {
uri=getUri(path);
uriCache.put(path, uri);
}
return resolver.openFileDescriptor(uri, "r").detachFd();
}
Run Code Online (Sandbox Code Playgroud)
在 Android 10 及更低版本上,它运行良好。我应该在 android 11 上做什么来获取目录中的所有文件?用户使用Intent.ACTION_OPEN_DOCUMENT_TREE授予我对此文件夹的完全访问权限
编辑:我在谷歌的跟踪器上打开了问题,因为在我看来这似乎是一个错误。您可以找到用于复制的小应用程序。您可以给这个问题加注星标,这样谷歌就可以更快地查看这个问题。
Android 8增加了对指针捕获的支持。 https://developer.android.com/training/gestures/movement.html#pointer-capture
有什么方法可以在android模拟器中测试吗?默认情况下,鼠标模拟触摸事件,即使我成功调用requestPointerCapture。
使用 Intent.ACTION_OPEN_DOCUMENT_TREE 我得到这个 uri :
content://com.android.providers.downloads.documents/tree/downloads
Run Code Online (Sandbox Code Playgroud)
如何将其转换为/storage/emulated/0/Download- 真实路径?我不想使用
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
因为已弃用。
编辑:我需要用于下载的公共位置的真实路径,因为在 android Q 上,这是应该存储公共文档的文件夹。
android ×3
directory ×2
android-ndk ×1
angular ×1
blank-line ×1
c++ ×1
download ×1
mouse ×1
realpath ×1