Android将手机数据写入屏幕

时间:2012-10-31 13:55:00

标签: android cordova jquery-mobile

我正在尝试将有关手机的信息写入我的应用屏幕。我在这下面做错了什么? 我在清单中设置了适当的权限。我正在使用Phonegap来开发应用程序。随着Jquery。 应用程序使用jsut不会显示电话信息。

<p id="deviceProperties">Loading device properties...</p>

整页代码

<!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" />
<link rel="stylesheet" type="text/css" href="jquery.mobile-1.2.0.css" />
<script type="text/javascript" src="jquery-1.8.2.js"></script>
 <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
<script type="text/javascript" src="jquery.mobile-1.2.0.js"></script>
<script type="text/javascript">

    $(document).on("pageinit", "#newpage", function () {
        $('#saveButton').click(function () {
            localStorage.setItem("name", $('#name').val());
        });

    });
    var wID = navigator.accelerometer.watchAcceleration(onSucess, onerror, { frequency: 1000 });
    function onSucess(a) {
        $('#aX').html(a.x);
        $('#aY').html(a.y);
        $('#aZ').html(a.z);
        $('#aTime').html(a.timestamp);
    }
    function onError() {

    }

    $(document).on('pageshow', '#newpage', function () {
        var personName = localStorage.getItem("name");
        if (personName.length > 0) {
            $('#name').val(personName);
        }
    });

</script>
<script type="text/javascript" charset="utf-8">

// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);

// Cordova is ready
//
function onDeviceReady() {
    var element = document.getElementById('deviceProperties');

    element.innerHTML = 'Device Name: '     + device.name     + '<br />' + 
                        'Device Cordova: '  + device.cordova  + '<br />' + 
                        'Device Platform: ' + device.platform + '<br />' + 
                        'Device UUID: '     + device.uuid     + '<br />' + 
                        'Device Version: '  + device.version  + '<br />';
}

</script>

<title>Hello World 2</title>
</head>
<body>

<div id="home" data-role="page">

    <div data-role="header">
        <h1>Home Page2</h1>
    </div>

    <div data-role="content">
        hello Phone Gap and JQuery Mobile! 
        <a href="#newpage" data-role="button">new page</a>
        <br>
    <p id="deviceProperties">Loading device properties...</p>
         <p id="ax">  </p>
        <p id="ay">  </p>
        <p id="az">  </p>
        <p id="aTime">  </p>
    </div>

    <div data-role="footer" data-position="fixed">
    <a href="#dialogpage" data-rel="dialog" data-icon="plus">Add Something</a>

    </div>
</div>


<div id="newpage" data-role="page">

    <div data-role="header">
    <a href="#home" data-icon="delete">Cancel</a>
        <h1>New Page</h1>
        <a href=#home" data-icon="save">save</a>
    </div>

    <div data-role="content">
        <label for="name">what is your name?</label>
        <input id="name" type="text" name="name" value="" />
        <a id="saveButton" href="" data-role="button">Save</a>
    </div>

    <div data-role="footer" data-position="fixed">
        <h4>
            footer</h4>
    </div>

</div>

<div id="dialogpage" data-role="page"> 
 <div data-role="header">
        <h1>Dialog</h1>
    </div>
     <div data-role="content">
        this is a dialog
     </div>
</div>

<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
    app.initialize();
</script>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

您需要等到从PhoneGap获得 deviceready 事件,否则您在PhoneGap实际初始化并准备好返回数据之前请求它。请参阅此处的文档/示例:http://docs.phonegap.com/en/2.1.0/cordova_device_device.md.html#Device