3

phonegap を使用して Android アプリを開発しました。アプリはトグル ボタンを切り替える必要があり、ユーザーはアプリを閉じてバックグラウンド サービスで実行できます。私の問題は、アプリを閉じて再びアプリに戻ると、トグルボタンがオフの初期状態に戻ることです。それで、私の質問は、Androidとphonegapでアプリの状態を保存/復元するにはどうすればよいですか?

このSave & Restore WebView in an embedded PhoneGap appを読みましたが、 restoreFromPreferences()saveToPreferences(out)についてまだ理解できません。

*下手な英語でごめんなさい

4

3 に答える 3

5

@geet が言ったように、 localStorage は、データを保存して後で取得するために必要なものです。Phonegap Web サイトによると、localstorage は W3C Storage インターフェイスへのアクセスを提供します。ここでそれについて読むことができます: http://dev.w3.org/html5/webstorage/#the-localstorage-attribute .

トグル ボタンの位置を保存するには、次のようにします。

<script>

function onDeviceReady() {

// Set togglebutton to false default
var togglebutton = window.localStorage.getItem("togglebutton");
if (togglebutton==null) window.localStorage.setItem("togglebutton", 'false');

// Set default state
if (window.localStorage.getItem("togglebutton")=='true') {
    $('#onoffswitch').attr("checked", "checked");
}

// Switch onoffswitch event
$('#onoffswitch').on('change', function(){
    if ($(this).prop('checked')) {
        window.localStorage.setItem("togglebutton", 'true');
    } else {
        window.localStorage.setItem("togglebutton", 'false');
    }
});

}

</script>

トグル要素(チェックボックスを形成する)がデフォルトでチェックされていないことをHTMLで確認してください:

<input type="checkbox" name="onoffswitch" id="onoffswitch">

一時停止と再開については、これらのイベントが呼び出されたときにアクションを実行できます。これをする :

<script>
    document.addEventListener("resume", yourCallbackFunction, false);
    document.addEventListener("pause", yourCallbackFunction, false);
</script>
于 2013-07-31T08:07:22.403 に答える