Javascript到Android的worklight调用

Javascript to Android call in worklight

本文关键字:worklight 调用 Android Javascript      更新时间:2023-09-26

在worklight中,我使用WL.NativePage.show用于android本机调用。当我在活动(本机)中执行这么多进程时,它抛出错误"应用程序可能在其主线程上执行了太多工作"。

作为解决方案,我使用线程计算(这么多的过程),它工作正常。但是在这个例子中,Native page显示了

但我只是想要一些计算输入(从JS)在本地和输出(在JS)没有渲染活动。

 ...
    public class EmbeddedCalculator extends Activity {
        public static Boolean isSuccessful = false;
        private Calculation calculation = new Calculation();
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            Runnable runnable = new Runnable() {
                @Override
                public void run() {
                    //  .. calculation - Higher process ..
                }
            };
            Thread t= new Thread(runnable);
            t.start();
        }
    }

那为什么要用WL呢?NativePage ?

由于您没有提到您正在使用的Worklight的实际版本,我将只列出可能的替代方案:

  1. 创建一个Cordova插件,它将调用本地代码并返回结果:https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-1/foundation/adding-native-functionality/-教程和示例可用
  2. 使用SendAction api调用本机代码(MobileFirst Platform Foundatin 6.3及以上):http://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.dev.doc/devref/c_action_sender.html