webView, JS-Interface und Notifications

  • 1 Antworten
  • Letztes Antwortdatum
W

WebDeveloper

Neues Mitglied
0
Hallo Android-Entwickler !

Ich arbeite mich momentan in die Entwicklung von Android-Apps ein und bräuchte für mein Vorhaben ein paar kleine Tipps. Grundsätzlich komme ich aus der Web-Entwicklung (JS/Ajax, PHP/mySQL, HTML/CSS).

Mein Vorhaben:
Ich habe mittels jQuery-Mobile (HTML5) eine WebApp umgesetzt (Web-Messenger) und möchte den ganzen Spass nun mittels der WebView Android-tauglich machen.

Dazu habe ich schon eine funktionierende WebView, welche ebenfalls im Fullscreen-Mode ausgeführt und angezeigt wird. Über das JavaScript-Interface kann ich ebenfalls schon Funktionen innerhalb der Android-App übergeben und ausführen.

Folgendes Ziel möchte ich nun erreichen:
Wenn die App läuft, soll überprüft werden, ob die App momentan im Vordergrund läuft, oder ob die App derzeit gerade nicht "den Fokus" besitzt. (Da z.B. gerade eine andere Anwendung im Vordergrund läuft) - Ist die App im "Hintergrund", soll z.B. über die Funktion "showNotification(string)" eine "Notification" erstellt und angezeigt werden. Die Funktion showNotification(string) wird hierbei über einen permanenten Ajax-Poll und des JavaScript-Interface der WebView ausgelöst.

Hier mal ein kleines Beispiel dazu: (WebAppInterface.java)
Code:
package com.androidexample.webview;

import android.content.Context;
import android.webkit.JavascriptInterface;
import android.widget.Toast;

public class WebAppInterface {
    Context mContext;

    /** Instantiate the interface and set the context */
    WebAppInterface(Context c) {
        mContext = c;
    }

    /** Show a toast from the web page */
    @JavascriptInterface
    public void showNotification(String nmsg) {
        // Test-Code: Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    // Hier sollte die Notification-Function mit dem String nmsg 
    // gestartet und übergeben werden
    }
}
Kann mir jemand dazu eventuell ein paar Tipps geben !?
Notfalls würde es mir auch erstmal nur reichen irgendwie eine Notification aus der Test-Funktion showNotification(String nmsg) zu generieren, ohne zu prüfen ob die App gerade im Hintergrund läuft.

Vielen Dank !
 
permanenten Ajax-Pol.

Keine gute Idee, außer das Device hängt permanent am Netz und benutzt Wifi, oder hat eine unbegrenzte Flat.

Am besten du machst die ganze Soße komplett auf dem Device in deiner App.
Egal was du machst, du brauchst entweder du ein Service, der im Background läuft, und beim schließen der App nicht beendet wird. Oder die App sendet eine Notifikation beim Benden der App.

Mit einen Webview und Ajax (gibt es das noch?) könnte die folgende Doku helfen:
WebView | Android Developers
 

Ähnliche Themen

AnnaBauer21
Antworten
0
Aufrufe
487
AnnaBauer21
AnnaBauer21
Zurück
Oben Unten