Android - 在PhoneGap Build / Apache Cordova 4.1.1上安排本地通知

时间:2016-09-08 12:10:29

标签: android cordova notifications phonegap-build localnotification

我在尝试在Android应用上安排本地通知时遇到问题(使用PhoneGap版本)。

我正在尝试在设定的日期和时间安排本地通知(例如2016年9月23日中午12:00)。

我尝试过使用以下插件:

https://build.phonegap.com/plugins/2081

我的config.xml文件如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns   = "http://www.w3.org/ns/widgets"
    xmlns:gap   = "http://phonegap.com/ns/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    id          = "****"
    versionCode = "292000" 
    version     = "2.9.2" >

    <gap:config-file platform="android" parent="/manifest">
 <application android:debuggable="true" />
</gap:config-file>

<!-- versionCode is optional and Android only -->

<name>****</name>

<description>
   ****
</description>

<author href="****" email="****">
    ****
</author>

<icon src="icon.png" />
<allow-navigation href="*" />
<access origin="*" />

<preference name="phonegap-version" value="cli-5.2.0" />
<preference name="android-minSdkVersion" value="14" />
<preference name="android-targetSdkVersion" value="23"/>

<gap:plugin name='cordova-plugin-whitelist' source='npm' />

<plugin name="de.appplant.cordova.plugin.local-notification" spec="0.8.1" source="pgb" />

</widget>

然后我使用以下代码安排通知:

cordova.plugins.notification.local.schedule({
    title: $title,
    text: $message,
    at: $date
});

在构建最新的PhoneGap版本(cli-6.3.0)时,我在build.phonegap.com网站上收到以下错误:

  

错误 - 如果使用PhoneGap&gt; = 4.0.0,则必须更新某些官方插件。请升级可能包含以下文件的任何插件的版本:LocalNotification.java

似乎该插件尚未针对最新版本的PhoneGap进行更新,导致构建失败。

我尝试构建最新支持的插件版本(PhoneGap 3.7.0)。构建成功完成,直接安装在Android设备上,一切正常。通知按计划启动。

但是,在尝试将此版本提交到Google Play商店时,构建将被拒绝,并显示以下错误:

  

您的APK因包含安全漏洞而被拒绝,这些漏洞违反了恶意行为政策。 “警报”页面提供了有关如何解决问题的详细信息。如果您提交了更新,那么之前版本的应用仍会在Google Play上发布。

现在,构建需要使用Apache Cordova的v4.1.1才能被Google Play接受。

我环顾四周但无法在任何地方找到解决方案。是否有人知道修复,或者另外一个允许在支持Apache Cordova v4.1.1或更高版本的Android上安排本地通知的插件?

2 个答案:

答案 0 :(得分:1)

更改

<gap:plugin name='cordova-plugin-whitelist' source='npm' />

<plugin name="de.appplant.cordova.plugin.local-notification" spec="0.8.1" source="pgb" />

<plugin name='cordova-plugin-whitelist' source='npm' />

<plugin name="de.appplant.cordova.plugin.local-notification" spec="0.8.4" source="npm" />

答案 1 :(得分:0)

我已经修好了自己。

更改插件名称将起作用。

我们需要找到一个合适的插件并在config.xml中替换旧版本。

就我而言,我已经改变了

<plugin name="de.appplant.cordova.plugin.local-notification" spec="0.8.4" source="pgb" />

<gap:plugin name="trunk.plugin.local-notification" />