2
我想將我的android應用連接到WAMP
服務器。我正在使用javascript
來做到這一點。我有一個活動,我加載一個HTML file
。在內部,HTML file
將加載javascript
。從服務中調用Javascript android
我希望即使手機被鎖定,服務器也能繼續運行。
現在,手機鎖定時服務器連接會斷開。
跟隨我的活動代碼:
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 + "')");
}
}
);
跟隨我的JS文件:
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();
}
}
有什麼辦法,我們可以從一個服務調用javascript
功能?如果可能的話,即使應用程序不在前臺,也可以讓服務器運行。
感謝。
如果它存在,我想使用UI擁有的同一個WebView對象(它有我需要的狀態)......這可能嗎? – Michael