build.phonegap.com版本的Android应用程序

时间:2012-11-07 20:17:26

标签: android cordova

我创建了Adroid app,我想查看手机的位置。我启动了模拟器安装应用程序,每次我想检查它失败。仿真器是问题(因为它不是真正的手机)或者我没有正确地做到这一点。

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta name="format-detection" content="telephone=no" />
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
                <title>Hello World</title>
        <script type="text/javascript" src="cordova-2.1.0.js"></script>
        <script text="text/javascript">
        function startUp(){
            document.getElementById("H1").innerHTML = "Checking your location...";
           document.addEventListener("deviceready", onDeviceReady, false)
        }
        function onDeviceReady() {
        navigator.geolocation.getCurrentPosition(onSuccess, onError);
    }

    // onSuccess Geolocation
    //
    function onSuccess(position) {
        var element = document.getElementById('location');
        element.innerHTML = 'Latitude: '           + position.coords.latitude              + '<br />' +
                            'Longitude: '          + position.coords.longitude             + '<br />' +
                            'Altitude: '           + position.coords.altitude              + '<br />';
                            document.getElementById("H1").innerHTML = "";
    }

    // onError Callback receives a PositionError object
    //
    function onError(error) {
        document.getElementById("H1").innerHTML = "Fail to check your location.";
    }

        </script>
    </head>
    <body style="margin:0px;" onload="startUp()" bgcolor="#000">
        <div class="app" style="background-color:#4D4D4D">
            <font color="#FF9900" size="2"><h1 id="H1" style="font-family:courier new;"></h1></font>
            <p id="location"></p>
        </div>



    </body>
</html>

HTML5文件和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        = "com.park.manager"
        versionCode="10" 
        version   = "0.1.9">
    <name>ParkingManager</name>
    <description>
        A system, which manages parking side areas.
    </description>
    <author href="" email="">
        Parking Side Manager Team
    </author>
    <preference name="phonegap-version" value="2.1.0" />
    <preference name="orientation" value="landscape" />
    <preference name="target-device" value="universal" />
    <preference name="fullscreen" value="true" />
    <preference name="android-installLocation" value="auto" />
    <icon src="icon.png" />
    <gap:splash src="splash.png" />
    <feature name="http://api.phonegap.com/1.0/geolocation"/>
    <feature name="http://api.phonegap.com/1.0/network"/>

</widget>

3 个答案:

答案 0 :(得分:0)

确保在清单XML中添加粗略和精细位置的权限。

手机缺口有其优势,但它不会解决你的一些主要问题,比如必须手工完成清单。如果您在知道如何添加这些权限之前在java中创建了应用程序。如果不是用来检查如何操作。permissions

除了你的cordova geolaction电话是正确的,我之前从他们的例子中使用过它。

答案 1 :(得分:0)

我最后一次使用PhoneGap时,清单已经在清单文件中拥有正确的权限。

您很可能需要为模拟器提供模拟数据。 http://developer.android.com/guide/topics/location/strategies.html#MockData

答案 2 :(得分:0)

它的模拟器,你需要一个真正的手机,因为模拟器是一个痛苦的你知道什么才能正常工作。你的Javascript和HTML很好。