PhoneGap Build - navigator.- Benachrichtigung.bestätigen nicht arbeiten (Methode undefined)
Ich bin die Entwicklung einer Android - /iOS-app mit AngularJS und Phonegap Build, mit Ripple-Emulator in Chrome für das lokale Debuggen.
navigator.- Benachrichtigung.bestätigen nicht, für mich zu arbeiten, während der navigator.- Benachrichtigung.alert, navigator.- Benachrichtigung.Signalton und navigator.- Benachrichtigung.vibrieren funktionieren. Chrome sagt: "Uncaught TypeError: Object [object Object] has no method 'confirm'"
-, iOS-Simulator funktioniert einfach nichts.
Habe ich <gap:plugin name="org.apache.cordova.core.dialogs" />
und <preference name="phonegap-version" value="3.0.0" />
in meinem config.xml und meine index.js die folgenden in der deviceready
callback:
navigator.notification.confirm("Yes or no?", function(){}, "Confirmation", "Yes,No");
Irgendwelche Ideen? Danke.
Ja, die
navigator.notification.confirm
ist innerhalb der deviceready
Veranstaltung. Wenn ich eine console.log(navigator.notification);
es sagt Object {alert: function, beep: function, vibrate: function}
. So gibt es offensichtlich keine confirm
Methode in navigator.notification
??? Die Dokumentationen sagt, es ist da....chrome wont nichts tun..., ich sugget Sie zu testen, in original-Gerät,
InformationsquelleAutor belomat | 2013-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe gerade versucht mit eine frische Installation (Cordova 3.1.x) und es funktionierte ohne Probleme. Ich habe das plugin installiert, mich mit
cordova plugin add org.apache.cordova.dialogs
, das ist ein bisschen anders als mit phonegap-build. Ich denke, das könnte ein Problem mit der PGB, sondern ein Vorschlag, den ich machen werde, ist zu ändern:<gap:plugin name="org.apache.cordova.core.dialogs" />
zu<gap:plugin name="org.apache.cordova.dialogs" />
ist, entfernen Sie die .Kern Teil, da core entfernt wurde aus dem Namensraum (könnte noch da sein für die 3.0 aber.)<gap:plugin name="org.apache.cordova.core.dialogs" />
3.1 Sie müssen entfernen den Kern: github.com/apache/cordova-plugin-dialogs/commit/... Es sieht aus wie der OP fragt nach v3.0.0 speziell wenn so seine
<gap>
Linie funktionieren sollte (denke ich.)Vielen Dank für Ihre Antworten, aber es funktioniert nicht für mich. Ich habe aktualisiert, um PhoneGap 3.1.0 und verändert das plugin
<gap:plugin name="org.apache.cordova.dialogs" />
, aber das Ergebnis ist das gleiche. Die Funktionnavigator.notification
hat nur drei Methoden: Alarm, PIEPEN und vibrieren.Leider kann ich nicht mehr helfen, ich habe keine Ahnung, was Sie vorschlagen, andere als zu versuchen, um spezifische Unterstützung für phonegap build. Ich denke, Sie haben ein forum für PGB Probleme. Es fehlen auch die prompt-Funktion richtig?
InformationsquelleAutor MBillau
Als mvp sagte, die Sie benötigen, um sicherzustellen, dass Sie haben eine onDeviceReady-Funktion auf Ihrer Seite haben und nicht nennen, alle API ' s, bis es ausgelöst hat.
Stellen Sie außerdem sicher, dass Sie die folgenden in der
<head></head
- tags Ihrer html-Seite:phonegap.js
meiner Seite. Auch diealert
,beep
undvibrate
Benachrichtigungen arbeiten wie erwartet.navigator.notification
hat nur diese drei Methodenconfirm
fehlt bei mir (siehe meine Antwort oben).InformationsquelleAutor Dom
Sollte es kein vibrieren-Funktion in das Dialogfeld plugin, nur einen Alarm, piep, confirm und prompt.
Aber wenn Sie die vibration-plugin installiert haben, dann sollten Sie vibrieren, natürlich.
Wenn Sie nur sehen, Alarm, Signalton, vibrieren, dann würde ich sagen, Sie haben ein Problem mit Ihrem plugin-installation...etwas, was ich vor kurzem gesehen habe.
Ich glaube, dieses Thema funktioniert gut für frisch installiert, als MBillau erwähnt seine app funktioniert gut. Die Installation eines plugins auf eine bereits vorhandene app scheint buggy für mich. Hier ist, was ich herausgefunden habe:
War ich mit 3 plugins (Medien, Geräte, Benachrichtigung und Unterrichtung war der einzige, der NICHT funktioniert. Meldung kam auch nachdem das Gerät fertig war (ich konnte spielen Medien und get device info, dann versuchen Benachrichtigung und nichts).
Das Problem, das ich hatte, war mit der Art, wie die phonegap CLI war das hinzufügen von plugins.
Es wurde kein Eintrag in www/corodova_plugins.js für Benachrichtigungen, aber es war für Medien und Geräte
Es war kein SRC im android/src/org/apache/cordova für die Benachrichtigung, aber es war für die Medien und Gerät.
Es war kein JS src in www/plugins für die Dialoge, aber es war für die Medien und Gerät.
Überprüfen Sie diese Orte, um zu sehen, wenn Sie die Benachrichtigungen info.
Habe ich versucht, indem das plugin mehrmals mit verschiedenen Befehlen. config.xml HABE:
{PROJECT.DIR}/plugins habe, Dialoge sowie Medien-und Geräte-SRC.
WARNUNG: das ausführen von "phonegap build android" würde die richtige Quelle in den Ordner erwähnt, aber es löscht alle Ihre src-im assets/www .
Meine Abhilfe: Erstellen Sie ein ganz neues Skelett-Projekt, fügen Sie die plugins, die Sie benötigen, also einen build für die Plattform, die Sie benötigen, dann vergleichen Sie die Quelle zwischen Ihrem Skelett Phonegap-app und Ihre Echte app, um die Unterschiede zu sehen. Nur so kann ich sehen, wie es jetzt scheint, dass die PhoneGap CLI ist "kaputt", weil ich nicht glaube, es ist das hinzufügen von plugins korrekt zu einer bereits bestehenden app.
InformationsquelleAutor JarodMS