代码之家  ›  专栏  ›  技术社区  ›  gpasse

使用android的Nativescript

  •  0
  • gpasse  · 技术社区  · 7 年前

    我不熟悉NativeScript。 我正在试图找出如何使用蓝牙本机Api(经典而非LE)。 我很难找到如何与蓝牙api交互。

    我遇到的第一个障碍是在我的typescript代码中使用android。

    例如,在组件中,如果我这样做:

    ngOnInit(): void {
        console.info(android.os.Build.VERSION.SDK_INT)
    } 
    

    我得到错误:

    1 回复  |  直到 7 年前
        1
  •  3
  •   Nick Iliev    7 年前

    要通过TypeScript访问本机API(以及更好的intelliSense),您需要生成的声明文件。幸运的是,您不必提供这些文件,因为它们已经可以通过 tns-platform-declarations plugin

    要安装声明,请在Angular项目中执行以下操作

    npm i tns-platform-declarations --save-dev
    

    然后创建具有以下内容的references.d.ts文件:

    /// <reference path="./node_modules/tns-platform-declarations/ios.d.ts" />
    /// <reference path="./node_modules/tns-platform-declarations/android.d.ts" />
    

    tsconfig.json

    {
        "compilerOptions": {
            "module": "commonjs",
            "target": "es5",
            "experimentalDecorators": true,
            "lib": [
                "es6",
                "dom"
            ]
        }
    }
    

    如果出于某种原因,你不需要IntelliSense,你可以跳过这一切,只需给一个类型 安卓 在你*的开始。ts文件

    declare var android: any;