Phonegap提醒在Android上无效

时间:2013-05-24 07:02:58

标签: android ios cordova

我正在使用Codorva 2.5。我用这种方式显示警报视图:

navigator.notification.confirm(
            message,
            callback,
            'Warning', //title
            options
            );

它适用于iOS,但不适用于Android。我不想使用javascript的alert()函数。我犯了什么错吗?

这是配置文件:

<?xml version="1.0" encoding="utf-8"?>
<cordova>
    <!--
    access elements control the Android whitelist.
    Domains are assumed blocked unless set otherwise
     -->

    <access origin="http://127.0.0.1*"/> <!-- allow local pages -->

    <!-- <access origin="https://example.com" /> allow any secure requests to example.com -->
    <!-- <access origin="https://example.com" subdomains="true" /> such as above, but including subdomains, such as www -->
    <access origin=".*"/>

    <!-- <content src="http://mysite.com/myapp.html" /> for external pages -->
    <content src="www/page/main/main.html" />

    <log level="DEBUG"/>
    <preference name="useBrowserHistory" value="false" />
    <preference name="exit-on-suspend" value="false" />
    <preference name="splashscreen" value="splash" />
    <preference name="disallowOverscroll" value="true" />
<plugins>
    <plugin name="App" value="org.apache.cordova.App"/>
    <plugin name="Geolocation" value="org.apache.cordova.GeoBroker"/>
    <plugin name="Device" value="org.apache.cordova.Device"/>
    <plugin name="Accelerometer" value="org.apache.cordova.AccelListener"/>
    <plugin name="Compass" value="org.apache.cordova.CompassListener"/>
    <plugin name="Media" value="org.apache.cordova.AudioHandler"/>
    <plugin name="Camera" value="org.apache.cordova.CameraLauncher"/>
    <plugin name="Contacts" value="org.apache.cordova.ContactManager"/>
    <plugin name="File" value="org.apache.cordova.FileUtils"/>
    <plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>
    <plugin name="Notification" value="org.apache.cordova.Notification"/>
    <plugin name="Storage" value="org.apache.cordova.Storage"/>
    <plugin name="FileTransfer" value="org.apache.cordova.FileTransfer"/>
    <plugin name="Capture" value="org.apache.cordova.Capture"/>
    <plugin name="Battery" value="org.apache.cordova.BatteryListener"/>
    <plugin name="SplashScreen" value="org.apache.cordova.SplashScreen"/>
    <plugin name="Echo" value="org.apache.cordova.Echo" />
    <plugin name="Globalization" value="org.apache.cordova.Globalization"/>
    <plugin name="InAppBrowser" value="org.apache.cordova.InAppBrowser"/>

</plugins>
</cordova>

我的Android应用程序结构: enter image description here

1 个答案:

答案 0 :(得分:1)

有一个幻灯片Mistake.You没有写任何东西。用这种方式写。

navigator.notification.confirm('Hello World',onConfirm,'Confirm','No,Yes');

function onConfirm(buttonIndex)
{
}

并在config.xml文件中添加此句子。

<gap:plugin name="Notification" value="org.apache.cordova.Notification"/>

好的。现在我犯了你的错误。你显示的代码是plugin.xml文件。这不是config.xml文件的代码。你声明的所有插件对黑莓都有用所以它肯定不会在android中打开。

项目的根目录中必须有config.xmlplugin.xml文件。 所以将此代码保存为plugin.xml文件 - &gt;创建一个文件作为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"
        id = "xyz"
    versionCode="1"
        version = "1.0.0">

<gap:plugin name="Notification" value="org.apache.cordova.Notification"/>

</widget>

当然,这将是一项工作。