[BLOG] WebApps von Tizen 2.1 zu Tizen 2.2 migrieren

Allgemeine News aus der Smartphone Welt und unserem Forum.
Post Reply
User avatar
sCion
mobile-Legend
Posts: 3375
Joined: Fri 22. Jul 2011, 07:12
Smartphone system: Windows
Netzbetreiber: Netzclub (o2)
BS: Windows 7 64bit
Location: Berlin
Contact:

[BLOG] WebApps von Tizen 2.1 zu Tizen 2.2 migrieren

Post by sCion »

Dies ist ein Blog Beitrag. Um den originalen Beitrag zu lesen, klicke hier »

Seit kurzem ist das Tizen SDK 2.2 in einer Beta-Version verfügbar. Erstmals werden mit diesem SDK auch die Hardware-Buttons wie Back oder Menu unterstützt. Es wird empfohlen diese anstatt den bisherigen Software-Button zu nutzen.

Dies gestaltet sich aber zu mindestens bei WebApps etwas schwieriger.

Der alte Code
Spoiler: show
$("#page1 .ui-btn-back").bind("click", function() {
var currentApp = tizen.application.getCurrentApplication();
currentApp.exit();
return false;
});

wird nicht direkt von den Hardware-Tasten emuliert.

Daher muss man sich selbst einen Weg basteln der einem das schließen aber auch das "zurücknavigieren" durch die App ermöglicht. Ich habe eine relative simple Lösung gefunden, die dies ermöglicht. Wichtig ist, dass jede Page (data-role="page") über eine eindeutige id verfügbar.
Spoiler: show


Page 1


Welcome
This is the default start page


Footer (optionale)





Page 2


Welcome on Page 2
This is the default page


Footer (optionale)

Die id wird später benötigt um mit Hilfe der Funktion $.mobile.activePage die aktuell sichtbare Seite herauszufinden.
Spoiler: show
document.addEventListener('tizenhwkey', function(e) {
var activePage = $.mobile.activePage().attr('id'); // read current page
switch(e.keyName)
{
case 'back':
switch(activePage)
{
case 'page1':
tizen.application.getCurrentApplication().exit();
break;
default:
parent.history.back();
break;
}
break;
case 'menu':
switch(activePage)
{
case 'page2':
console.log('you are on '+activePage);
break;
default:
//TODO: Do something
break;
}
break;
}});
Der Code emuliert mit default das zurücknavigieren, dies macht er immer dann, sofern die activePage nicht bekannt ist. Möchte man auf einer Seite etwas anderes als "Zurück" muss man nun nur ein case dafür einrichten. Mit obigen Beispiel wird also die App nur geschlossen, wenn man sich auf page1 befindet. Analog verhält es sich mit dem Menu-Button, der Code befindet sich gleich schon mit im Code.

Dieses Tutorial funktioniert nur zusammen mit dem Tizen Web Framework!
Devices: Wave 3, Wave 1, Wave M, Tizen RD-PQ, Ativ S

Kein Support via PN.

Lead Developer of SciDev
AppsReader | Baby Count | LiveClock PRO | SMS|ER
User avatar
sCion
mobile-Legend
Posts: 3375
Joined: Fri 22. Jul 2011, 07:12
Smartphone system: Windows
Netzbetreiber: Netzclub (o2)
BS: Windows 7 64bit
Location: Berlin
Contact:

[BLOG] WebApps von Tizen 2.1 zu Tizen 2.2 migrieren

Post by sCion »

Kleine Ergänzung im JS teil muss es $.mobile.activePagr.attr("id"); heissen, habe es grade behoben.
Devices: Wave 3, Wave 1, Wave M, Tizen RD-PQ, Ativ S

Kein Support via PN.

Lead Developer of SciDev
AppsReader | Baby Count | LiveClock PRO | SMS|ER
Post Reply