问题标签 [ionic-plugins]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3309 浏览

ionic-framework - 离子原生设备插件@ionic-native/device 返回所有空值

我需要在我的 Ionic 项目中进行设备检测,所以我已经@ionic-native/device按照此处的说明安装了插件:https ://ionicframework.com/docs/native/device/

但是,当我将它连接到组件内部,然后运行ionic serve以预览更改时,console.log 返回Device所有值设置为的对象null,当我尝试使用单个属性时也会发生同样的情况,例如this.device.model控制台日志输出

这是我在组件内部使用它的方式:

我也将它添加到AppModule

Cordova 设备插件被自动注入config.xml

这是我的 Ionic 堆栈(至少应该与问题相关的包):

谢谢!

更新:

我可以通过运行在浏览器中获取设备详细信息:

这假设您已将浏览器添加为平台,如果未运行:

(来自@AndrewLively 发布的答案中的链接:https ://stackoverflow.com/a/49034015/448816 )

0 投票
0 回答
814 浏览

ionic-framework - Ionic 本机安全存储插件静默失败(在 Android 上的 Ionic View 和 Ionic Dev App 上)

我已将 Ionic Secure Storage 插件(用于存储身份验证令牌)添加到我的 Ionic 项目中,并且它在运行时在本地正常工作cordova run browser(因此cordova作为平台加载)。

但是,当我在 Android 上的 Ionic DevApp 和 Ionic View 中打开我的项目(在 iOS 上正常工作)时,每当我尝试检索保存的令牌时,它都会静默失败。

这是我的代码:

我打开了离子错误监控,它没有发现任何错误。

插件版本:

0 投票
2 回答
1401 浏览

cordova - 列出了 IOS 插件,但 xcode 显示未安装

我的所有插件都出现此错误。它表明我所有的插件都没有安装,但是它们是。

WARN: Native: 尝试调用 StatusBar.styleDefault,但未安装 StatusBar 插件。

我看到了一篇类似的文章,建议确保代码不在 platform.ready 之外执行,但这似乎不是我的问题

我的 package.json 如下

请协助。这只发生在IOS上。安卓没问题。在模拟器和设备上测试。

0 投票
2 回答
2969 浏览

android - 如何从 ionic 3 中具有特定联系人的其他应用程序打开 Whatsapp 应用程序?

我开发了一个 ionic 3 应用程序。我无法从我的应用程序中使用 ionic 3 中的特定联系人打开 whatsapp。我不想发送或分享任何东西,而只想从我的应用程序中使用特定联系人打开 android 和 iOS 中的 whatsapp。有什么方法可以打开whatsapp吗?直到现在我已经实现如下,这是行不通的

任何帮助都非常感谢。

0 投票
2 回答
1374 浏览

ionic-framework - 如何在 Ionic Pro 中设置正确版本的播放服务

在平台/android/projet.properties项目中替换以下参数

com.google.android.gms:play-services-maps:+

cordova.system.library.3=com.google.android.gms:play-services-location:+

如何在项目或配置中替换相同的内容,然后将其充电到 ionic pro 并构建它?

0 投票
1 回答
789 浏览

angular - 当应用程序在后台时,深层链接有效,但在被杀死时无效

我正在使用 ionic deeplink 插件ionic-plugin-deeplinks它适用于 android,但由于它不适用于 ios,我被迫安装另一个插件cordova-deeplinkcordova-universal0links-plugin。包.json:

"@ionic-native/deeplinks": "^4.16.0",

“cordova-deeplink”:“git+ https://github.com/foneclay/cordova-universal-links-plugin.git#2.3.1”,“cordova-universal-links-plugin”:“1.2.1 ”等我的组件.ts:

配置.xml:

在 android 上一切正常,但在 ios 中,只有当应用程序仍在后台时才有效,当我杀死应用程序(终止它)并单击我通过应用程序共享的任何链接时,它打开应用程序的主页,没有去深入细节。

离子:

  • 离子(离子 CLI):4.0.2
  • 离子框架:离子角
  • 3.9.2 @ionic/app-scripts:3.2.0

科尔多瓦:

  • 科尔多瓦(科尔多瓦 CLI):8.1.2(科尔多瓦-lib@8.1.1)
  • Cordova 平台:不可用

系统:

  • Android SDK 工具:25.2.5
  • 节点JS:v8.9.3
  • npm:5.4.2
  • 操作系统:Windows 10
0 投票
2 回答
1004 浏览

angular - 即使导出了 Ionic 3,TypeScript 也找不到名称“ClassName”

我必须在我的 Ionic 3 应用程序中使用某些插件,但它给出了找不到名称错误。我进口的

import { AndroidPermissions } from '@ionic-native/android-permissions';

并在构造函数中声明(public androidPermissions: AndroidPermissions),它给出了一个错误([ts] Cannot find name 'AndroidPermissions'.)

在 app.module.ts 中声明相同的插件并在 Provider 中声明时,它给出了错误

看了论坛后,我用 ngx 导入了插件。

错误已解决,但在调用它时会引发错误

使用Network pluginSMS plugin时发生类似错误。

还尝试将目标更改为 es6 和 jib 以在 tsconfig.json 中有 es2016 但注意到有效。下面是我的 tsconfig.json

0 投票
1 回答
551 浏览

ionic-framework - 离子:GoogleAnalytics 插件错误:ts:找不到名称“GoogleAnalytics”

我正在尝试在 Ionic 上使用 Google Analytics 插件,文档代码在我使用时不适用:

编辑器说“ts:找不到名称'GoogleAnalytics'”但是它可以看到一些对象GoogleAnalyticsOriginal,而不是编译但不起作用(在运行时给出错误)。

这些是系统规格离子(离子 CLI):4.5.0

离子框架:离子角 3.9.2

@ionic/app-scripts:3.2.1

科尔多瓦:科尔多瓦(科尔多瓦 CLI):8.1.2(科尔多瓦-lib@8.1.1)

Cordova 平台:安卓 7.1.4

Cordova 插件:cordova-plugin-ionic-webview 1.1.1,(和其他 15 个插件)系统:

NodeJS : v10.13.0 (C:\Program Files\nodejs\node.exe)

npm:6.5.0

0 投票
1 回答
4285 浏览

angular - 如何解决由于提供“@ionic-native/AppVersion”或“.../ngx”而导致的问题,并且在调用 AppVersion 的任何方法时出现异常?

我添加了 AppVersion Ionic 本机插件 ( https://ionicframework.com/docs/native/app-version#usage )。在尝试将其提供给我之后,我app.module.ts在编译时出现错误,例如“AppVersion 不存在提供程序”......

我认为可能从 Ionic 4/最新版本的 AppVersion 开始,我需要遵循以下说明:https ://ionicframework.com/docs/native/#Add_Plugins_to_Your_App_Module说要通过这样的导入提供插件app.module.ts

import AppVersion from '@ionic-native/AppVersion/ngx'.

代码编译。完美的。但遗憾的是在运行时我有一个错误说:

TypeError: Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["cordova"]) is not a function. (In 'Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["cordova"])(this, "getPackageName", {}, arguments)', 'Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["cordova"])' is an instance of Object) getPackageName — index.js:28...

所以我对这个耗时问题的解决方案是采用 AppVersion 的保留版本,它适用于另一个项目:

package.json

有了这个,我可以正常地将插件导入到我的app.module.tsimport AppVersion from '@ionic-native/AppVersion')中,一切正常。

有我的堆栈的版本:

离子:

离子(离子 CLI):4.1.2(/usr/local/lib/node_modules/ionic)离子框架:离子角 3.9.2 @ionic/app-scripts:3.1.11

科尔多瓦:

科尔多瓦(科尔多瓦 CLI):8.1.1(科尔多瓦-lib@8.1.0)科尔多瓦平台:android 7.1.1,ios 4.5.5科尔多瓦插件:科尔多瓦插件离子键盘2.1.3,科尔多瓦插件离子- webview 1.2.1,(和其他 8 个插件)

系统:

Android SDK 工具:26.1.1 (/Users/maximedesogus/Library/Android/sdk/) ios-deploy:1.9.4 NodeJS:v8.12.0 (/usr/local/bin/node) npm:6.4.1 操作系统:macOS Xcode:Xcode 10.1 构建版本 10B61

0 投票
1 回答
401 浏览

android - 获取正确的联系人计数,但在 Ionic 4 中获取联系人的空值