В следующей функции Javascript, которая возвращает значение newpid
. От нажатия кнопки Android я буду вызывать функцию javascript с передачей параметров. Теперь мой вопрос - я хочу получить значение newpid из функции javascript для android и сохранить его как String.
web.getSettings().setLoadsImagesAutomatically(true);
web.getSettings().setJavaScriptEnabled(true);
web.getSettings().setDomStorageEnabled(true);
web.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
int position = (Integer) view.getTag();
Log.d(TAG, "called" + str1.get(position)+position);
web.loadUrl("javascript:process_save(\"" + str1.get(position) + "\")");
web.addJavascriptInterface(JSInterface,"androidWebViewClient");
}
});
Моя функция Javascript:
function process_save(action) {
var newpid = 0;
if (check_mandatory()) {
var pid = geturlparameter("pid");
var wfid = geturlparameter("wfid");
var transid = geturlparameter("transid");
var partialapprove = geturlparameter("partialapprove");
var partialactivityid = geturlparameter("activityid");
var loginid = geturlparameter("loginid");
loginid = (loginid == null) ? 0 : loginid;
if (pid == null && parseInt(wfid) > 0) {
CallVbMethod("initiateprocess", "{'workflowid':'" + geturlparameter("wfid") + "','activityid':'" + activityid + "','activityname':'" + activityname + "','review':'" + action + "','skip':'','loginid':'" + loginid + "'}", function (result) {
showerror(result[result.length - 1]);
if (result[0] != "") {
newpid = result[0];
saverecords(newpid);
parent.disablePopup();
}
}, false, false);
}
else if (parseInt(pid) > 0 && parseInt(transid) > 0) {
showerror("processid : " + pid);
saverecords(pid);
CallVbMethod("changewflowstatus", "{'transid':'" + transid + "','status':'1','sqlquery':'','review':'" + action + "','skip':'','activityid':'" + partialactivityid + "','processid':'" + pid + "','partialapprove':'" + partialapprove + "','loginid':'" + loginid + "'}", function (result) {
showerror(result[result.length - 1]);
if (result[0] != "") {
newpid = pid;
showsuccess(result[0]);
parent.disablePopup();
}
}, false, false);
}
}
else {
alert("Mandatory field not entered");
}
window.androidWebViewClient.tellAndroidPid(newpid);
return newpid;
}
Заранее спасибо!