当前位置: 首页 > 知识库问答 >
问题:

Xpages移动控件不支持Android Web视图

谭学名
2023-03-14

我已经构建了一个Xpages应用程序,目前在iOS应用程序中出现,运行良好。在我的Android版本中,相同的按钮不起作用。我点击它,什么也没发生。

它在PC上的Chrome工作正常。

它在我的测试Android设备上的浏览器中也可以正常工作。

它只是在Android应用程序中嵌入的Web视图中不起作用。

我需要使用不同类型的网络视图吗?

下面是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>

共有1个答案

柳修平
2023-03-14

花了一点时间,但我找到了解决办法。

我使用的方法是

setWebViewClient

它适用于基本的东西,并且确实运行JavaScript,但不会承认对按钮的点击。

我切换到

setWebChromeClient

现在一切都正常了。

 类似资料:
  • 我正在实现如下所示的一个Spring集成工作流程。 现在,完成上述流程后,我需要将移动到一个归档目录。决定目标目录的决定基于消息标头,此标头添加到流程中的步骤中。为了移动这些文件,我创建了另一个流,如下代码所示 选择器方法 但是,正如该流所期望的那样,文件移动不会完成,因为所述头没有出现在流执行中。 那么,如何在报表文件创建后执行来实现这一目标呢?

  • 我正在使用ServerHttpRequest作为Rest控制器中的请求参数。但是在响应中,我得到的错误是“no primary or default constructor for interface org.springframework.http.server.reactive.serverHttpRequest”。 我发现了一个类似的问题,但没有运气。 Rest控制器 日志 pom.xml

  • 本文向大家介绍支持移动端原生js轮播图,包括了支持移动端原生js轮播图的使用技巧和注意事项,需要的朋友参考一下 直接上代码,自行复制粘贴,本人是新手,欢迎指正。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我有一个通过plist文件配置的应用程序,以支持纵向、横向左侧和横向右侧方向(即,UISupportedInterfaceOrientationPortrait、UIInterfaceOrientationLandscapeLeft和UIInterfaceOrientationLandscapeRight)。但我已经将支持的方向限制为仅在视图控制器内部纵向。如果我在视图控制器的视图上显示UIAct

  • 支持 Grafana 视图展现 相较于 Open-Falcon 内建的 Dashboard,Grafana 可以很有弹性的自定义图表,并且可以针对 Dashboard 做权限控管、上标签以及查询,图表的展示选项也更多样化。本篇教学帮助您 做好 Open-Falcon 的面子工程! 安装和使用步骤 请参考 grafana open-falcon 致谢 感谢fastweb @kordan @masat

  • 中国移动西安分公司面经: ①自我介绍一分钟 ②对你应聘工作的一个理解 ③针对你应聘的工作,你有什么不足 ④你向你的同事请教问题,你的同事告诉领导你的工作能力不足,你应该怎么做?