我已經安裝了科爾多瓦(3.3版本)和內建使用這些命令的示例項目:如何安裝和調用科爾多瓦插件
$ cordova create hello com.example.hello "HelloWorld"
$ cd hello
$ cordova platform add android
$ cordova build
並導入項目到Eclipse(根據http://cordova.apache.org/docs/en/3.3.0/guide_platforms_android_index.md.html#Android%20Platform%20Guide)。我可以通過選擇Run As→Android Application,從Eclipse成功運行應用程序。
現在我想利用科爾多瓦的通知能力。我加入了插件(這個指南:http://cordova.apache.org/docs/en/3.3.0/cordova_notification_notification.md.html#Notification)用下面的命令:
$ cordova plugin add org.apache.cordova.dialogs
$ cordova plugin add org.apache.cordova.vibration
,當我鍵入:
$ cordova plugin ls
它正確地列出我剛添加的插件。
我返回到Eclipse和下面的代碼粘貼到資產/ WWW/index.html中(覆蓋index.html中現有的代碼):
<!DOCTYPE html>
<html>
<head>
<title>Notification Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
// Empty
}
// Show a custom alert
//
function showAlert() {
navigator.notification.alert(
'You are the winner!', // message
'Game Over', // title
'Done' // buttonName
);
}
// Beep three times
//
function playBeep() {
navigator.notification.beep(3);
}
// Vibrate for 2 seconds
//
function vibrate() {
navigator.notification.vibrate(2000);
}
</script>
</head>
<body>
<p><a href="#" onclick="showAlert(); return false;">Show Alert</a></p>
<p><a href="#" onclick="playBeep(); return false;">Play Beep</a></p>
<p><a href="#" onclick="vibrate(); return false;">Vibrate</a></p>
</body>
</html>
當我將其部署到一個設備,它顯示三個鏈接(Show Alert,Play Beep和Vibrate)。當我按這些時,我期望相應的本地通知發生,但它不會。相反,我得到了以下錯誤消息(顯示在logcat中):
顯示警報:未捕獲的ReferenceError:showAlert沒有定義:45
播放提示音:未捕獲的ReferenceError:未定義playBeep:46
振動:未捕獲的ReferenceError:振動沒有定義:47
我應該如何修復這些錯誤?
在此先感謝!
是的,這是正確的!非常感謝您的注意:D – LittleGoldFish