Pertanyaan PhoneGap Build - navigator.notification.confirm tidak berfungsi (metode tidak terdefinisi)


Saya mengembangkan aplikasi Android / iOS dengan AngularJS dan Phonegap Build, menggunakan Ripple Emulator di Chrome untuk debugging lokal.

navigator.notification.confirm tidak berfungsi untuk saya, sementara navigator.notification.alert, navigator.notification.beep dan navigator.notification.vibrate berfungsi dengan baik. Chrome mengatakan: "Uncaught TypeError: Object [object Object] has no method 'confirm'", iOS Simulator tidak melakukan apa-apa.

saya sudah <gap:plugin name="org.apache.cordova.core.dialogs" /> dan <preference name="phonegap-version" value="3.0.0" /> di config.xml saya, dan index.js saya memiliki yang berikut di deviceready panggilan balik:

navigator.notification.confirm("Yes or no?", function(){}, "Confirmation", "Yes,No");

Ada ide? Terima kasih.


4
2017-10-17 10:18


asal


Jawaban:


Saya baru saja mencoba dengan instalasi baru (Cordova 3.1.x) dan bekerja dengan baik tanpa masalah. Saya telah menginstal plugin sendiri cordova plugin add org.apache.cordova.dialogs, yang sedikit berbeda dari menggunakan phonegap-build. Saya pikir ini mungkin menjadi masalah dengan PGB tetapi satu saran saya akan buat adalah untuk mengubah: <gap:plugin name="org.apache.cordova.core.dialogs" /> untuk <gap:plugin name="org.apache.cordova.dialogs" />, yaitu, hapus .inti bagian, sejak inti telah dihapus dari namespace (mungkin masih ada di sana untuk 3.0.)


2
2017-10-17 13:01



Seperti kata mvp, Anda harus memastikan Anda memiliki fungsi onDeviceReady di halaman Anda dan tidak memanggil API apa pun sampai ia diaktifkan.

Selain itu, pastikan Anda memiliki yang berikut di <head></head tag dari halaman html Anda:

<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>

1
2017-10-17 11:10



Seharusnya tidak ada fungsi getar di plugin dialog, hanya waspada, bip, konfirmasi, dan prompt. Tetapi jika Anda memiliki plugin getaran terinstal, maka Anda harus melihat getaran tentu saja.

Jika Anda hanya melihat peringatan, bip, dan getar, maka saya akan mengatakan Anda memiliki masalah dengan instalasi plugin Anda ... sesuatu yang saya lihat baru-baru ini.

Saya yakin masalah ini berfungsi dengan baik untuk pemasangan baru, karena MBillau menyebutkan bahwa aplikasinya berfungsi dengan baik. Menginstal plugin pada aplikasi yang sudah ada tampaknya telah menjadi buggy bagi saya. Inilah yang saya temukan:

Saya menggunakan 3 plugin (Media, Perangkat, Pemberitahuan) dan Pemberitahuan adalah satu-satunya yang TIDAK bekerja. Pemberitahuan juga terjadi setelah perangkat siap (saya dapat memutar media dan mendapatkan info perangkat, kemudian coba notifikasi dan tidak ada).

Masalah yang saya miliki adalah dengan cara CLI phonegap menambahkan plugin.

Tidak ada entri di www / corodova_plugins.js untuk Pemberitahuan, tetapi ada untuk Media dan Perangkat Tidak ada SRC di android / src / org / apache / cordova untuk Notifikasi, tetapi ada untuk Media dan Perangkat. Tidak ada JS src di www / plugins untuk dialog, tetapi ada untuk media dan perangkat.

Periksa lokasi tersebut untuk melihat apakah Anda memiliki info Notifikasi.

Saya mencoba menambahkan plugin beberapa kali dengan berbagai perintah. config.xml DID meliputi:                   

{PROJECT.DIR} / plugins DID memiliki dialog serta media dan perangkat SRC.

PERINGATAN: menjalankan "phonegap build android" akan menempatkan sumber yang benar dalam folder yang disebutkan, tetapi menghapus semua src Anda di aset / www.

Obat saya: Buat proyek kerangka baru, tambahkan plugin yang Anda butuhkan, lakukan build untuk platform yang Anda butuhkan, lalu bandingkan sumber antara aplikasi Phonegap kerangka Anda dan aplikasi Real Anda untuk melihat perbedaannya. Hanya cara yang bisa saya lihat sekarang karena tampaknya PhoneGap CLI "rusak" karena saya tidak percaya itu menambahkan plugin dengan benar ke aplikasi yang sudah ada.


0
2018-03-02 17:39