标签: cordova-plugins

本地通知“schedule”和“trigger”方法执行多次

嗨,我是 ionic 新手,我正在使用 (katzer/cordova-plugin-local-notifications),我遇到了问题,我不知道发生了什么。

当我点击一个链接时,我会生成一个新的通知。但是我不知道为什么当我在通知中第二次点击时,“计划”和“触发”里面的警报被执行了两次,当我在通知中第三次点击时,里面的警报"schedule" 和 "trigger" 执行 3 次,依此类推。

这是我的代码,非常简单:

$scope.addNotification = function (){


    var idaudio = Math.round(Math.random() * 10000);
    var date = Date.now();

    cordova.plugins.notification.local.schedule({
        id: idaudio,
        title: 'Remember',
        text: 'New Remember',
        at: date

    });


    cordova.plugins.notification.local.on("schedule", function(notification){
        alert("scheduled: " + notification.id);
    });


    cordova.plugins.notification.local.on('trigger', function (notification){
        alert("trigger" + notification.id)
    });
}
Run Code Online (Sandbox Code Playgroud)

我需要当我单击通知时,只有一个警报会打印相关的通知 ID。

有人可以帮我吗?

提前致谢。

notifications localnotification phonegap-plugins cordova cordova-plugins

1
推荐指数
1
解决办法
4802
查看次数

错误:EPERM:不允许操作,重命名/删除

我正在努力解决cordova和npm clis错误。我知道这是一个非常常见的错误:我每天都会在不同的项目和平台上收到此错误。

我注意到我的 Ionic1 应用程序,它使用 crosswalk-webview,在 Android 6 上工作,但在 Android 7 上崩溃(这似乎是一个已知的错误)。 这些是我尝试过的步骤:

  • 我尝试删除并重新添加 crosswalk-webview: cordova plugin rm cordova-plugin-crosswalk-webview cordova plugin add cordova-plugin-crosswalk-webview 添加插件时出现 npm 错误: npm verb stack Error: EPERM: operation not permitted, rename...

  • 构建失败: ionic cordova build --release android出现相同的错误: Error: EPERM: operation..

  • 由于几个插件已经过时,我想删除并重新添加整个平台 android cordova platform rm android 大约 1 小时后命令仍然卡住所以我终止了它。

现在,如果我尝试将 android 添加为平台,则会出现错误: Error: EPERM: operation not permitted, rename...

我尝试降级 npm,我尝试了以下 5.6.0、5.5.1、5.4.2、5.3.0、5.0.0、4.6.0 版本。我重新安装了 node、cordova、ionic,清除了 npm 缓存。我不解决。这显然是一个 NPM 问题,也许这里某处知道如何解决..

在当前状态下,如果我尝试: cordova platform add …

npm cordova ionic-framework cordova-plugins

1
推荐指数
1
解决办法
8062
查看次数

在 ios 中下载 ionic 3 的文件未显示在文件夹中

离子3

我正在使用#cordova-plugin-file-transfer,从 android 和 ios 中的 url 下载文件。对于 Android 来说,它运行良好。但对于 ios 应用程序,我遇到了问题。

文件下载成功,但我无法在 ios 设备上看到下载的文件。

这是我的 ios 代码=>

const transfer = this.transfer.create();
transfer.download(url, cordova.file.documentsDirectory + fileName).then(
          entry => {
            console.log(entry);
            this.apiService.showError("Download Succeeded.");
            this.commonService.dismissLoading();
          },
          error => {
            console.log(error);
            this.apiService.showError("Download Failed.");
            this.commonService.dismissLoading();
          }
        )
Run Code Online (Sandbox Code Playgroud)

有谁可以在这方面帮助我吗?

file-transfer ionic-framework cordova-plugins ionic2 ionic3

1
推荐指数
1
解决办法
1616
查看次数

D8:程序类型已经存在:org.apache.cordova.BuildHelper

运行 $ ionic cordova build android 时,构建失败。

尝试安装 npm 插件 cordova-android-support-gradle-release 但遇到了这个问题:https : //github.com/dpa99c/cordova-android-support-gradle-release/issues/42

实际上,我没有为此编写特定的代码。

FAILURE:构建失败,出现异常。

  • 出了什么问题:任务 ':app:transformDexArchiveWithDexMergerForDebug' 执行失败。

    com.android.build.api.transform.TransformException:java.lang.RuntimeException:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:合并 dex 档案时出错:了解如何在https:/ /developer.android.com/studio/build/dependencies#duplicate_classes。程序类型已经存在:org.apache.cordova.BuildHelper

android cordova ionic-framework cordova-plugins

1
推荐指数
1
解决办法
2404
查看次数

Ionic 4:NFC无法导入NFC和Ndef

使用 Cordova 插件在 Ionic 4 中启动项目。我正在尝试将 NFC 初始化到项目中。我只是按照 Ionic 文档进行操作,并将 Cordova-Plugin 添加到 package.json 中。现在我正在尝试添加一个 NdefListener。这样我就可以读取、写入和清除 NFC 标签。

我尝试使用 @ionic-native/nfc 而不是 @ionic-native/nfc/ngx 但我的代码找不到 @ionic-native/nfc。

我的 Ionic CLI 是 5.2.8 。

这是在我的 home.page.ts 中。

import { NFC, Ndef } from "@ionic-native/nfc/ngx";

constructor(private nfc: NFC, private ndef: Ndef) {}
Run Code Online (Sandbox Code Playgroud)

当我在构造函数中仅使用 ndef 且没有其他代码时收到的错误代码,当我将 NFC 放在第一位时,仅将 Ndef 更改为 NFC 时也会发生同样的情况。

ERROR Error: Uncaught (in promise): NullInjectorError: StaticInjectorError(AppModule)[HomePage -> Ndef]: 
  StaticInjectorError(Platform: core)[HomePage -> Ndef]: 
    NullInjectorError: No provider for Ndef!
NullInjectorError: StaticInjectorError(AppModule)[HomePage -> Ndef]: 
  StaticInjectorError(Platform: core)[HomePage -> …
Run Code Online (Sandbox Code Playgroud)

typescript ionic-framework cordova-plugins ionic4

1
推荐指数
1
解决办法
1322
查看次数

找不到资源 xml/opener_paths(又名 io.ionic.starter:xml/opener_paths)

android 构建时出错

<provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="${applicationId}.fileprovider;${applicationId}.bugshaker.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths" ></meta-data>
        </provider>
Run Code Online (Sandbox Code Playgroud)

错误信息是:

android\app\src\main\AndroidManifest.xml:39:13-41:65: AAPT: 错误: 找不到资源 xml/opener_paths (aka io.ionic.starter:xml/opener_paths)。

android cordova cordova-plugins ionic-native ionic4

1
推荐指数
1
解决办法
1253
查看次数

在构建过程中不会产生cordova-plugin-admob 错误?

使用cordova构建android应用程序时,我遇到了以下错误日志:-

BUILD FAILED in 1m 21s
C:\Users\gagan\Projects\hybrid\framework\error\framework7\quotes\cordova\platforms\android\gradlew: Command failed with exit code 1 Error output:
C:\Users\gagan\Projects\hybrid\framework\error\framework7\quotes\cordova\platforms\android\app\src\main\java\name\ratson\cordova\admob\AdMob.java:5: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                              ^
C:\Users\gagan\Projects\hybrid\framework\error\framework7\quotes\cordova\platforms\android\app\src\main\java\name\ratson\cordova\admob\AdMob.java:243: error: cannot find symbol
@NonNull
 ^
symbol:   class NonNull
 location: class AdMob
 2 errors

FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Run Code Online (Sandbox Code Playgroud)

正如问题中所指定的,它是由于cordova-plugin-admob-free.How 才能消除错误?

android cordova cordova-plugins

1
推荐指数
1
解决办法
526
查看次数

为 Ionic App 创建和使用自定义 Cordova IOS 插件

我对离子开发非常陌生。我有一个 Objective C 代码,它使用相机提供一些自定义功能,并且我想在使用 Cordova 的 ionic 应用程序中使用此本机代码。经过几个小时的研究后,我得出的结论是,我们需要创建一个 Cordova 插件,将其上传到 Github,然后将其添加到我们的 Ionic 项目中。我尝试了一些演示并阅读了一些文章,但所有内容似乎都已过时,我无法继续。

如果有人能指导我,那就太好了

  1. 使用我的 Objective C 代码创建 Cordova 插件的步骤以及
  2. 在我现有的离子应用程序中使用该插件的步骤。

任何帮助将不胜感激。

cordova ionic-framework cordova-plugins

1
推荐指数
1
解决办法
1241
查看次数

即使安装了插件,也会出现安装 FCM 插件的问题

我正在为我的应用程序构建推送通知,但是当我在设备上运行我的应用程序时,我收到以下错误:

vendor-es2015.js:101693 Native: tried calling FCM.getToken, but the FCM plugin is not installed.
pluginWarn @ vendor-es2015.js:101693
vendor-es2015.js:101699 Install the FCM plugin: 'ionic cordova plugin add cordova-plugin-fcm-with-dependecy-updated'
pluginWarn @ vendor-es2015.js:101699
vendor-es2015.js:101693 Native: tried calling FCM.onNotification, but the FCM plugin is not installed.
pluginWarn @ vendor-es2015.js:101693
vendor-es2015.js:101699 Install the FCM plugin: 'ionic cordova plugin add cordova-plugin-fcm-with-dependecy-updated'
pluginWarn @ vendor-es2015.js:101699
vendor-es2015.js:101693 Native: tried calling FCM.onTokenRefresh, but the FCM plugin is not installed.
pluginWarn @ vendor-es2015.js:101693
vendor-es2015.js:101699 Install the FCM plugin: 'ionic cordova plugin …
Run Code Online (Sandbox Code Playgroud)

cordova ionic-framework cordova-plugins ionic-native ionic5

1
推荐指数
1
解决办法
2136
查看次数

由于无法读取未定义的属性“onTokenRefresh”,我无法在离子应用程序中获取设备令牌

我遵循了两个建议安装以下内容的教程:

ionic cordova 插件添加 cordova-plugin-fcm-with-dependecy-updated npm install @ionic-native/fcm

安装到表示未安装 fcm 插件的设备后,我不断收到错误,因此我查看了建议卸载的https://www.npmjs.com/package/cordova-plugin-fcm-with-dependecy-updated#fcmontokenrefresh网站npm uninstall @ionic-native/fcm # 包含 Ionic 支持,但与 @ionic-native 的实现冲突。

所以我这样做并用这个代替:

import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated';


  getUserToken(userId: string) {
    FCM.getToken().then(token => {
      console.log('token');
      console.log(token);
    });
  }

  getToken(userId: string) {
    FCM.onTokenRefresh((fcmToken: string) => {
      console.log('token refresh');
      console.log(fcmToken);
    });
  }
Run Code Online (Sandbox Code Playgroud)

但现在我得到以下信息:

错误错误:未捕获(承诺中):TypeError:无法读取未定义的属性“onTokenRefresh”TypeError:无法读取未定义的属性“onTokenRefresh”

此时我被困住了。如果我使用 Ionic 插件,我会收到“未安装 FCMPluging”的信息,并且在使用 Cordova 库时会收到“无法读取未定义属性“onTokenRefresh”的错误信息。任何帮助将不胜感激。

{
  "name": "",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng …
Run Code Online (Sandbox Code Playgroud)

cordova ionic-framework cordova-plugins firebase-cloud-messaging cordova-plugin-fcm

1
推荐指数
1
解决办法
3713
查看次数