【发布时间】:2015-03-26 13:47:28
【问题描述】:
我已经构建了一个 Xpages 应用程序,该应用程序当前出现在 iOS 应用程序中并且工作正常。在我的 Android 版本中,相同的按钮不起作用。我点击它,没有任何反应。
它在 PC 上的 Chrome 中运行良好。
它在我的测试 Android 设备上的浏览器中也可以正常工作。
它在嵌入在 Android 应用程序中的网络视图中不起作用。
我需要使用不同类型的 webView 吗?
这里是java代码:
package com.scoular;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import static com.XXXXX.utils.XXXXX.getPreference;
public class ExpensesActivity extends MainActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_expenses);
String email = getPreference(this, R.string.email);
String password = getPreference(this, R.string.password);
String s = "<html>" +
"<head>" +
"<form action=\"https://XXXXm/XXXXX.nsf?Login\"" +
"method =\"POST\" name =\"LogonForm\">" +
"<input type=\"hidden\" name=\"Username\"" +
"value=\"" + email + "\">" +
"<input type=\"hidden\" name=\"Password\"" +
"value=\"" + password + "\">" +
"<input type=\"hidden\" name=\"RedirectTo\"" +
"value=\"https://XXXXXX/XXXXX.nsf/m_XXXXXX.xsp\">" +
"</form>" +
"</head>" +
"<script>" +
"document.forms[0].submit()" +
"</script>" +
"</html>";
File outputDir = this.getApplicationContext().getCacheDir();
File outputFile = null;
try {
outputFile = File.createTempFile("temp", "html", outputDir);
FileWriter writer = new FileWriter(outputFile);
BufferedWriter bWriter = new BufferedWriter(writer);
bWriter.write(s);
bWriter.close();
} catch (IOException e) {
Toast.makeText(this.getApplicationContext(), "Got IOException: " + e, Toast.LENGTH_LONG).show();
}
WebView webView = (WebView) findViewById(R.id.expenses_web_view);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("file:///" + outputFile.getAbsolutePath());
}
}
这里是 Xpage 的按钮部分
<xp:button value="Approves" id="button3"
styleClass="mblButton" style="font-weight:bold">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete" id="eventHandler3">
<xp:this.action>
<xp:actionGroup>
<xp:changeDocumentMode mode="edit"
var="document1"/>
<xp:confirm message="Approved" />
<xp:modifyField name="Action"
value="Approve" var="document1" />
<xp:saveDocument var="document1" />
<xp:executeScript>
<xp:this.script><![CDATA[#{javascript:var agent=database.getAgent("MobileApproval");
var doc:NotesDocument = document1.getDocument();
agent.runOnServer(doc.getNoteID()); }]]></xp:this.script>
</xp:executeScript>
<xe:moveTo targetPage="homePage" />
</xp:actionGroup>
</xp:this.action>
</xp:eventHandler>
</xp:button>
【问题讨论】:
标签: android android-webview xpages