嗨,我是 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
我正在努力解决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 …
我正在使用#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)
有谁可以在这方面帮助我吗?
运行 $ ionic cordova build android 时,构建失败。
尝试安装 npm 插件 cordova-android-support-gradle-release 但遇到了这个问题:https : //github.com/dpa99c/cordova-android-support-gradle-release/issues/42
实际上,我没有为此编写特定的代码。
FAILURE:构建失败,出现异常。
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
使用 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) 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)。
使用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 才能消除错误?
我对离子开发非常陌生。我有一个 Objective C 代码,它使用相机提供一些自定义功能,并且我想在使用 Cordova 的 ionic 应用程序中使用此本机代码。经过几个小时的研究后,我得出的结论是,我们需要创建一个 Cordova 插件,将其上传到 Github,然后将其添加到我们的 Ionic 项目中。我尝试了一些演示并阅读了一些文章,但所有内容似乎都已过时,我无法继续。
如果有人能指导我,那就太好了
任何帮助将不胜感激。
我正在为我的应用程序构建推送通知,但是当我在设备上运行我的应用程序时,我收到以下错误:
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) 我遵循了两个建议安装以下内容的教程:
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
cordova-plugins ×10
cordova ×8
android ×3
ionic-native ×2
ionic4 ×2
ionic2 ×1
ionic3 ×1
ionic5 ×1
npm ×1
typescript ×1