首页 > 解决方案 > 如何在 NativeScript 中从 Android 内容 URI 打开文件?

问题描述

我正在为我的 NativeScript 应用程序创建导入备份数据功能。我已经将我的应用程序与自定义扩展相关联,并且它已被 Android 系统识别,因此如果我在 Dropbox 中单击此文件上的“打开方式”,我可以选择我的应用程序。

我还添加了代码来捕获事件并可以检索数据,这是 Dropbox 发送到应用程序的文件的内容 URI(或者至少我是这样理解的)。

内容 URI 如下所示:content://com.dropbox.android.FileCache/filecache/7b051751-3681-4ba1-8ce2-e70e8a0cae91

我现在需要打开这个文件(它是带有 JSON 的文本文件)。我可以使用 NativeScript 类来做到这一点,还是必须使用本机代码来处理?如何读取这个文件?

标签: androidnativescript

解决方案


内容 URI 是特定于 Android 的,因此您必须使用本机代码来完成。

我认为您必须在寻找getContentResolver().openInputStream(uri)

要访问 {N} 中的内容解析器,请执行

import * as application from "application";

const contentResolver = application.android.nativeApp.getContentResolver();

推荐阅读