← Alle Erweiterungen

Native Erweiterung

KlugDeviceType

com.klug.devicetype

KEIN APM NÖTIG. Herunterladen und loslegen. Einfacher geht es nicht.

Zuverlässige Smartphone- oder Tablet-Erkennung, direkt beim Betriebssystem erfragt, unabhängig von der Ausrichtung.

iOSAndroid Im Produktiveinsatz Ab €19 / Jahr · Kaufen

Überblick

Viele Apps zeigen auf einem Tablet ein anderes Layout als auf einem Smartphone. Die Geräteklasse aus der Bildschirmgröße zu erraten ist unzuverlässig: Das Ergebnis kann sich mit Ausrichtung, Display-Skalierung oder Fenstergröße ändern.

KlugDeviceType fragt das Betriebssystem selbst. Unter Android verwendet es die kleinste Bildschirmbreite des Geräts in dichteunabhängigen Pixeln (ab 600 dp ist es ein Tablet), dieselbe Regel, die Android für seine eigenen Layouts nutzt. Unter iOS verwendet es das Geräte-Idiom des Systems, das ein iPad von einem iPhone unterscheidet.

Die Antwort ist im Hoch- und Querformat dieselbe, unabhängig davon, wie Ihre App ihre Inhalte skaliert, und ab dem ersten Frame der App verfügbar.

Funktionen

  • Eigenständig: eine ANE, keine Kernbibliothek und keine abhängigen ANEs, die Sie ergänzen müssten
  • Smartphone oder Tablet, beantwortet vom Betriebssystem
  • Stabil bei Ausrichtungswechsel und App-Skalierung
  • Die kleinste Bildschirmbreite in dp (Punkte unter iOS), für Ihre eigenen Schwellenwerte
  • Beim App-Start verfügbar, vor dem ersten Layout
  • Keine Berechtigung nötig

Unterstützte Plattformen

Android arm64 · armv7
iOS arm64

Auf anderen Plattformen gibt isSupported false zurück, und deviceType ist ein leerer String.

Erste Schritte

Fügen Sie die Erweiterung Ihrem Application Descriptor hinzu:

app.xml
<extensions>
    <extensionID>com.klug.devicetype</extensionID>
</extensions>

Codebeispiele

Drei vollständige Abläufe. Die Getter kehren sofort zurück und brauchen keine Berechtigung; jedes Lesen fragt das Betriebssystem erneut. Vollständige Dokumentation →

1 · Das Layout beim Start wählen
Layout.as
import com.klug.devicetype.DeviceType;

var type:DeviceType = DeviceType.getInstance();

// the same answer in portrait and landscape, available before the first layout
if ( !type.isSupported )     useDesktopLayout();   // other platforms: deviceType is ""
else if ( type.isTablet )   useTabletLayout();    // Android: 600 dp or more · iOS: iPad
else                        usePhoneLayout();
2 · Eigene Breakpoints
Grid.as
// dp on Android, points on iOS; -1 where not available
var sw:int = type.smallestWidthDp;
var columns:int;

if ( sw >= 720 )        columns = 3;   // large tablet
else if ( sw >= 600 )   columns = 2;   // small tablet
else                    columns = 1;   // phone, or -1: not available

buildGrid( columns );
3 · Einem faltbaren Gerät beim Öffnen und Schließen folgen
Resize.as
import flash.events.Event;

var current:String = type.deviceType;

// every read asks the system again, nothing is cached
stage.addEventListener( Event.RESIZE, function( e:Event ):void {
    var now:String = type.deviceType;
    if ( now == current ) return;   // a rotation alone never changes it
    current = now;
    rebuildLayout( now );            // Android: opening a foldable can turn "phone" into "tablet"
});

// iOS: isTablet follows the device (iPad) and does not change;
// smallestWidthDp follows the screen the app is shown on

API-Übersicht

DeviceType.getInstance()Gibt die einzige Instanz zurück.
isSupportedTrue unter Android und iOS.
isTabletTrue auf einem Tablet: Android ab 600 dp, iOS iPad; auf anderen Plattformen false.
isPhoneTrue auf einem Smartphone; auf anderen Plattformen false.
deviceType"tablet" oder "phone"; ein leerer String auf anderen Plattformen.
smallestWidthDpDie kleinere Bildschirmabmessung: dp unter Android, Punkte unter iOS; -1, wo nicht verfügbar.

KlugDeviceType kaufen

Eine Jahreslizenz für eine AIR-Anwendung, mit allen Updates für 12 Monate. Nach der Zahlung erhalten Sie die Erweiterung, die ActionScript-Bibliothek und die Dokumentation per E-Mail, in der Regel innerhalb eines Werktags. Lizenz und Bedingungen

Simple
€19 / Jahr
  • Lizenz für eine AIR-Anwendung
  • Alle Updates für 12 Monate
  • Kein Support
Simple kaufen
Standard
€149 / Jahr
  • Lizenz für eine AIR-Anwendung
  • Alle Updates für 12 Monate
  • Antwort per E-Mail innerhalb von 7 Tagen
Standard kaufen
Priority
€299 / Jahr
  • Lizenz für eine AIR-Anwendung
  • Alle Updates für 12 Monate
  • Antwort per E-Mail innerhalb von 48 Stunden
Priority kaufen
Die Steuern werden an der Kasse von Link (Stripe) berechnet. Die Application-ID Ihrer AIR-App geben Sie beim Bezahlen ein.

Voraussetzungen

AIR SDK51.x (HARMAN)
iOSiOS 17 oder neuer
AndroidAndroid 6.0 (API 23) oder neuer
BerechtigungenKeine