Weex Android(安卓)返回键 页面传值 生命周期
16lz
2021-01-26
问题
- 安卓返回键
- 页面之间传参数
- Vue页面生命周期
vue.js实现
//页面根节点
Android实现:
public void onBackPressed() { WXComponent comp = mInstance.getRootComponent(); if (comp != null) { WXEvent events = comp.getDomObject().getEvents(); boolean hasBack = events.contains(UConstants.Event.ONANDROIDBACK); if (hasBack) { WXBridgeManager.getInstance().fireEvent(mInstance.getInstanceId(), comp.getRef(), UConstants.Event.ONANDROIDBACK, null, null); return; }else { super.onBackPressed(); } } super.onBackPressed(); }
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent); if (intent == null) { return; } if (intent.getStringExtra("params") != null) { String params = intent.getStringExtra("params"); String backTag = intent.getStringExtra("backTag"); if (!TextUtils.isEmpty(params)) { WXComponent comp = mInstance.getRootComponent(); if (comp != null) { WXEvent events = comp.getDomObject().getEvents(); boolean hasActive = events.contains(UConstants.Event.ACTIVED); if (hasActive) { Map data = new HashMap<>(); data.put("param",params); data.put("tagCode", backTag); WXBridgeManager.getInstance().fireEvent(mInstance.getInstanceId(), comp.getRef(), UConstants.Event.ACTIVED, data, null);// } } } } } }
@Override public void onViewCreated(WXSDKInstance wxsdkInstance, View view) { super.onViewCreated(wxsdkInstance, view); WXComponent comp = mInstance.getRootComponent(); if (comp != null) { WXEvent events = comp.getDomObject().getEvents(); boolean hasReady = events.contains(UConstants.Event.READY); if (hasReady) { Map data = new HashMap<>(); data.put("param", wxInfo.getParam()); WXBridgeManager.getInstance().fireEvent(mInstance.getInstanceId(), comp.getRef(), UConstants.Event.READY, data, null); } } if (!isHasNavBar) { setTranslateAnimation(getContainer()); } }
@Override public void onPause() { super.onPause(); WXComponent comp = mInstance.getRootComponent(); if (comp != null) { WXEvent events = comp.getDomObject().getEvents(); boolean hasDeactived = events.contains(UConstants.Event.DEACTIVED); if (hasDeactived) { WXBridgeManager.getInstance().fireEvent(mInstance.getInstanceId(), comp.getRef(), UConstants.Event.DEACTIVED, null, null); } } if (mIsShakeDetectorStarted && mShakeDetector != null) { mShakeDetector.stop(); mIsShakeDetectorStarted = false; } } @Override public void onResume() { super.onResume(); if (!mIsShakeDetectorStarted && mShakeDetector != null) { mShakeDetector.start((SensorManager) getApplicationContext().getSystemService(Context.SENSOR_SERVICE)); mIsShakeDetectorStarted = true; } }
开源:
https://github.com/weexext/we...
更多相关文章
- AndroidManifest.xml文件剖析 (一)
- Android浏览页面时报数据连接性问题
- Android(安卓)WebView 用法说明
- Android(安卓)Studio Gradle使用笔记
- android使用mat分析内存泄漏
- Android利用ViewFlipper实现屏幕切换动画效果
- android MVC中如何在在controller中进行页面跳转(到其他Activity
- [android] Activity 的生命周期 以及 横屏竖屏切换时 Activity
- Xamarin.Forms QR Code Scan 二维码扫描的Android(安卓)App