【问题标题】:Adding AndroidPermissions plugin to ionic project and get an error将 AndroidPermissions 插件添加到 ionic 项目并出现错误
【发布时间】:2020-03-19 14:06:06
【问题描述】:

我想将 AndroidPermissions 和 UniqueDeviceID 插件添加到我的项目中。但是当我运行该项目时,我收到以下错误。

Uncaught (in promise): TypeError: Object(...) is not a function
TypeError: Object(...) is not a function
    at AndroidPermissions.checkPermission (index.js:182)

这是我的项目的详细信息:

Angular CLI: 8.3.19
Node: 12.13.0
OS: win32 x64
Angular: 5.2.11
... animations, common, compiler, core, forms, http
... platform-browser, platform-browser-dynamic

@angular-devkit/architect 0.803.19
@angular-devkit/build-optimizer 0.0.35
@angular-devkit/core 8.3.19
@angular-devkit/schematics 8.3.19
@angular/cli 8.3.19
@angular/compiler-cli 8.2.14
@schematics/angular 8.3.19
@schematics/update 0.803.19
rxjs 5.5.11
typescript 2.6.2
webpack 3.12.0

C:\projeler\ohsmobile>离子 -v 5.4.6

【问题讨论】:

    标签: cordova ionic-framework android-permissions ionic-native


    【解决方案1】:

    如果没有更多信息,很难知道如何回答这个问题,但是您可以检查一些一般性的事情。

    1. 您是如何“运行”该项目的?由于您使用的是 Ionic Native 插件,因此在模拟器或真实设备上进行测试非常重要。这意味着 ionic cordova build android 并在 Android Studio 中打开或ionic cordova run android 用于连接 USB 的真实设备。

    2. 检查您是否已将 AndroidPermissions 和 UniqueDeviceID 作为 providers 包含在您尝试使用它的页面的 app.module.ts 或 module.ts 中。示例:

    @NgModule({
        imports: [
            CommonModule,
            FormsModule,
            IonicModule,
            RouterModule.forChild(routes)
        ],
        providers: [AndroidPermissions, UniqueDeviceID],
        declarations: []
    })
    
    1. 确保您已从 Ionic 文档运行这些命令:
    ionic cordova plugin add cordova-plugin-uniquedeviceid
    npm install @ionic-native/unique-device-id
    
    ionic cordova plugin add cordova-plugin-android-permissions
    npm install @ionic-native/android-permissions
    
    1. 确保从正确的位置导入:
    import { AndroidPermissions } from '@ionic-native/android-permissions/ngx'
    import { UniqueDeviceID } from '@ionic-native/unique-device-id/ngx'
    
    1. Ionic 文档中的用法:
    import { AndroidPermissions } from '@ionic-native/android-permissions/ngx';
    
    
    constructor(private androidPermissions: AndroidPermissions) { }
    
    ...
    
    this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.CAMERA).then(
      result => console.log('Has permission?', result.hasPermission),
      err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.CAMERA)
    );
    
    this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.CAMERA, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);
    

    【讨论】:

    • "ionic cordova run android" 我正在尝试使用 USB 电缆在设备上执行命令。 freakyjolly.com/…我用了这个地址。
    • 成功了吗?错误?
    • 错误是我的问题。
    • 你试过我的解决方案了吗?它奏效了吗?如果没有,您收到什么错误消息?如果你不给我任何信息,我帮不了你。
    • 在您第一次回答之前,我已经按照您所说的做了。虽然我按照你说的做,但我的问题仍然存在问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 2019-03-06
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多