0

AppMobi.contacts.chooseContact()の例のこの最も単純な使用法を機能させることはできません。XDKで動作しますが、iPhone 4sのapp-labでは動作しません。古いKindleFireを試してみたところ、連絡先を1つか2つ選んだ後にapp-labアプリがクラッシュしました。連絡先の選択を適切にキャンセルすると処理されますが、連絡先を選択すると、イベントリスナーが呼び出されないように見えます。

iPhone用にコンパイルされたネイティブアプリでも実行しましたが、同じ問題が発生しました。これは、WindowsのXDKで実行した問題を最小限に再現するために使用したコードであり、iPhoneとKindleFireはapp-labのTestAnywhereを使用しており、以下で説明するのと同じ問題が発生します。コードは以下に含まれています。私はおそらく本当に馬鹿げたことをしていて、それが見えないことを知っていますが、それを理解することはできません。ありがとうございました。

<!DOCTYPE html><!--HTML5 doctype-->
<html>
<head>
<title>Your New Application</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8"> 
<style type="text/css">
    /* Prevent copy paste for all elements except text fields */
    *  { -webkit-user-select:none; -webkit-tap-highlight-color:rgba(255, 255, 255, 0); }
    input, textarea  { -webkit-user-select:text; }

    /* Set up the page with a default background image */
    body {
        background-color:#fff;
        color:#000;
        font-family:Arial;
        font-size:48pt;
        margin:0px;padding:0px;
        background-image:url('images/background.jpg');
    }
</style>
<script type="text/javascript" charset="utf-8" src="_appMobi/appmobi_local_bootstrap.js"></script> 
<script type="text/javascript" charset="utf-8" src="http://localhost:58888/_appMobi/xhr.js"></script> 
<script type="text/javascript">
/* This function runs once the page is loaded, but appMobi is not yet active */
var init = function(){

};
window.addEventListener("load",init,false);  

/* This code prevents users from dragging the page */
var preventDefaultScroll = function(event) {
    event.preventDefault();
    window.scroll(0,0);
    return false;
};
document.addEventListener('touchmove', preventDefaultScroll, false);

/* This code is used to run as soon as appMobi activates */
var onDeviceReady=function(){
    //Size the display to 768px by 1024px
    AppMobi.display.useViewport(768,1024);

    //hide splash screen
    AppMobi.device.hideSplashScreen();  


    document.addEventListener('appMobi.contacts.choose', onChooseContact);
    document.addEventListener('appMobi.contacts.busy', onChooseContactBusy);
    // runs right away more or less.
    AppMobi.contacts.chooseContact();

};
document.addEventListener("appMobi.device.ready",onDeviceReady,false);



function onChooseContact(evt)
{
    if (evt.success == true)
    {
        alert("Choose Contact Success");
        //AppMobi.contacts.editContact(evt.contactid);
    }
    else if (evt.cancelled == true)
    {
        alert("Choose Contact Cancelled");
    } else {
        alert("Huh, how did it get here?");
    }
}

function onChooseContactBusy()
{
    alert('got in OnChooseContactBusy');
}


</script>

</head>
<body>

    <a class="button"
        onclick="AppMobi.contacts.chooseContact();" >Click Here to Choose Contact</a>
    <br />


</body>
</html>
4

0 に答える 0