Ich möchte meine Android-App zu WAMP
Server verbinden. Ich verwende javascript
, um es zu tun. Ich habe eine Aktivität, wo ich eine HTML file
laden. Intern lädt HTML file
das javascript
.Aufruf von Javascript aus Service-Android
Ich möchte der Server läuft auch wenn das Telefon gesperrt ist.
Jetzt fällt die Serververbindung, wenn das Telefon gesperrt ist.
Folgt den Code meiner Tätigkeit:
mWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new JavascriptInterface(this), "JSInterface");
mWebView.setWebContentsDebuggingEnabled(true);
mWebView.setWebViewClient(
new WebViewClient() {
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.d(TAG,"Page loading finished");
String ip = "XXX.XXX.XXX.XXX";
mWebView.loadUrl("javascript:configureServerIp('"+ ip + "')");
}
}
);
meine JS-Datei folgt:
function configureServerIp(ip) {
console.log("ip=>"+ip)
if(ip != null) {
connection = new autobahn.Connection({url: 'ws://'+ip+':8080/ws', realm: 'realm1'});
connection.onopen = function (session) {
openSession = session;
console.log("SESSION: " + session);
session.subscribe('bms.device.msg',onevent)
session.subscribe('bms.device.request.location',onLocationRequest)
session.subscribe('bms.device.request.config',onConfigRequest)
window.JSInterface.isConnected(true);
};
connection.onClose = function(reason, details) {
openSession = null;
window.JSInterface.isConnected(false);
}
connection.open();
}
}
Gibt es eine Möglichkeit, wir javascript
Funktion von einem Service anrufen können? Wenn es möglich ist, wird das Ausführen des Servers auch dann ermöglichen, wenn die App nicht im Vordergrund ist.
Danke.
Wenn es existiert, möchte ich das gleiche WebView-Objekt verwenden, das die UI besitzt (es hat Status, den ich brauche) ... ist das möglich? – Michael