Я создал приложение Xpages, которое в настоящее время отображается в приложении iOS и отлично работает. В моей версии Android те же кнопки не работают. Я нажимаю на него, и ничего не происходит.Xpages Mobile Controls не работает с веб-дизайном Android
Он отлично работает в 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>