Bonjour, Je crée une application MobileFirst Hybrid et j'ai besoin de lancer/appeler la méthode onCreate() sur le chargement de la page index.html.comment appeler la classe d'activité native à partir de la page html de l'application hybride MobileFirst
-2
A
Répondre
0
Voici donc ce que je faisais,
classe héritée de CordovaActivity au lieu de la classe d'activité et WLInitWebFrameworkListener mis en œuvre. En cas onInitWebFrameworkComplete ajouté:
super.loadUrl(WL.getInstance().getMainHtmlFilePath());
Sous méthode OnCreate() ajouté
WL.createInstance(this);
WL.getInstance().initializeWebFramework(getApplicationContext(), this);
et maintenant mon SendActionAPI fonctionne
0
Utilisez l'API SendAction: https://www.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.dev.doc/devref/t_sending_actions_js_to_native.html
Vous pouvez appeler en plein wlCommonInit qui est appelé une fois le SDK MobileFirst a été complètement initialisé.
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>
Merci! était une aide précieuse, :) .. maintenant j'ai besoin d'appeler ma page html de l'activité natif, suppose que le client WL est utilisé mais pas sûr comment? – Samra
Peut être que je peux expliquer un peu plus, j'ai implémenté la fonction OnActionReceived dans mon JS et l'ai appelée sur un clic de listitem de mon code natif.WL.getInstance(). SendActionToJS ("LoadPageReceiver"); Ici, WL.getinstance donne java.state.illegalstateexception – Samra
http://stackoverflow.com/questions/31331579/android-mobilefirst-sending-data-from-native-to-cross-page suivez le lien (veuillez cocher la case:)) – Praj