Javascript to Android在worklight中调用

时间:2015-09-17 11:25:00

标签: javascript android ibm-mobilefirst

在worklight中,我使用WL.NativePage.show进行Android本机调用。由于我在活动中做了很多过程(本机),它会抛出错误"应用程序可能在其主线程上做了太多工作"。

作为分辨率,我使用线程进行计算(这么多过程)并且工作正常。但在这种情况下,Native页面出现了。

但我只想在原生和输出(At JS)中对输入(From 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();
        }
    }

1 个答案:

答案 0 :(得分:1)

然后为什么要使用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