【问题标题】:How can I access/import Android Platform APIs with Typescript?如何使用 Typescript 访问/导入 Android 平台 API?
【发布时间】:2021-01-15 02:26:00
【问题描述】:

我目前正在使用 Ionic 构建一个应用程序。为了能够创建大于 150 MB 的 App Bundle,我想使用 Play Asset Delivery。我已经build了它,下一步是integrate (install time)它。

第二个 URL 的内容: 要集成它,首先通过createPackageContext() 接收Context object,然后使用上下文对象方法getAssets() 获取AssetManager instance。 AssetManager 实例 Method call() 用于最终访问资产。

问题是我正在处理 Typescript 文件,但我不知道如何导入我需要的 Android 平台 API。看来我需要导入android.content.res.AssetManagerandroid.content.Context 才能从上面访问这些方法。

模块通常是这样导入的:import { BrowserModule } from '@angular/platform-browser'; 导入 BrowserModule 表单文件夹 @angular/platform-b​​rwoser。模块文件夹位于我的 Ionic 项目 node_modules 目录中。许多模块已经安装,有些可以通过 CLI 中的npm 安装。

Android SDK Tools : 26.1.1
NodeJS            : v12.18.3
npm               : 6.14.6
OS                : Windows 10
Gradle            : 6.6.1
Ionic Framework   : @ionic/angular 5.3.3
Cordova Platforms : android 9.0.0

您知道如何导入所需的 android 平台 API 还是我做错了什么?

【问题讨论】:

    标签: android angular typescript ionic-framework


    【解决方案1】:

    Ionic 框架在 webview 之上工作,打包到二进制应用程序包中。因此 typescript 被转译为 JavaScript 并打包到浏览器(webview)解析和解释。

    为了访问本机 API,您需要编写一个插件并将本机功能公开给您的 TS 代码。

    例如,如果您的混合应用程序使用 Ionic Team 的电容器: https://capacitorjs.com/docs/plugins/android

    如果您使用的是 Cordova: https://cordova.apache.org/docs/en/latest/guide/hybrid/plugins/

    如果您正在利用流行的原生 API,则可能有人已经完成了这项工作,您只需要找到插件即可。

    【讨论】:

      猜你喜欢
      • 2012-09-28
      • 2021-06-03
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 2017-01-02
      • 2016-09-28
      • 2021-09-23
      • 1970-01-01
      相关资源
      最近更新 更多