您好我正在创建一个MobileFirst Hybrid应用程序,需要在index.html页面加载时启动/调用Activity类onCreate()方法。
答案 0 :(得分:0)
使用SendAction API:https://www.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.dev.doc/devref/t_sending_actions_js_to_native.html
您可以在完全初始化MobileFirst SDK后调用的wlCommonInit中调用。
答案 1 :(得分:0)
Use this API
main.js
var param = {
name: "hello" //parameter pass to activity
};
WL.NativePage.show("com.xyz.TestActivity", function(data){
alert("data from activity "+data);
}, param);
Make TestActivity in pkg com.xyz
TestActivity.java
package com.xyz;
import android.util.Log;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
public class TestActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
String l_name = getIntent().getStringExtra("name"); // way to take param from js file
Intent in = new Intent();
in.putExtra("test", "hello success"); // return data to js from activity
setResult(RESULT_OK, in);
finish();
}
}
AndroidManifest.xml
<activity android:name=".TestActivity"></activity>
答案 2 :(得分:0)
所以这就是我所做的,
继承CordovaActivity类而不是Activity类并实现了WLInitWebFrameworkListener。在onInitWebFrameworkComplete事件中添加了:
super.loadUrl(WL.getInstance().getMainHtmlFilePath());
在Oncreate()方法下添加
WL.createInstance(this);
WL.getInstance().initializeWebFramework(getApplicationContext(), this);
现在我的SendActionAPI正常工作