2016-03-19 9 views
2

Ich baue eine Pebble Watch App mit cloudpebble (in C).Pebble Watch App mit C. Überprüfen Sie die Internetverbindung?

Die App benötigt Internet-Daten, die unter iOS erfordert, dass die Pebble App auf dem Benutzergerät geöffnet ist (nicht sicher, ob dies auf Android-Geräten identisch ist).

Wenn es keine Internet/App-Konnektivität gibt. Ich möchte eine Nachricht in meiner Überwachungs-App anzeigen, in der das Problem für den Benutzer erläutert wird.

Gibt es eine Möglichkeit zu überprüfen, ob der Benutzer eine Internetverbindung hat? Ich habe die Dokumente durchsucht, kann aber nichts finden.

Antwort

0

Ich habe immer nur das Pebble SDK, nie Wolke Kiesel, aber das ist immer noch relevant, glaube ich. In Ihrer .js-Datei können Sie jedoch die Internetverbindung testen, indem Sie navigator.onLine eingeben. Ich habe eine Test-App auf meine Uhr geschrieben, um das zu testen und es hat funktioniert. Als ich Internetkonnektivität hatte, war es wahr, als ich alle Daten und Wifi ausgeschaltet hatte, gab es einen falschen Wert zurück. Beachten Sie jedoch, dass die .js-Datei nicht ausgeführt wird, wenn die App nicht geöffnet ist. Sie müssen also nicht auf eine Internetkonnektivitätsbenachrichtigung warten, sondern können auf einen Bereitschaftsstatus aus der JS-Datei warten. Wenn die Uhr die Bereit-Benachrichtigung nicht empfängt, können Sie dem Benutzer eine Nachricht anzeigen, dass sie die App öffnen sollten (Wenn Sie sicher sein wollen, dass Sie mit dem Internet verbunden sind, testen Sie es wie unten gezeigt).

internet_status = navigator.onLine; 
console.log("Is the browser online? " + internet_status); 

Pebble.addEventListener('ready', function() { 
    // PebbleKit JS is ready! 
    console.log('PebbleKit JS ready!'); 

    var dict = { 
    'status': internet_status 
    }; 

    Pebble.sendAppMessage(dict, function() { 
    console.log('Message sent successfully: ' + JSON.stringify(dict)); 
    }, function(e) { 
    console.log('Message failed: ' + JSON.stringify(e)); 
    }); 
});