dytt
dytt
  • 发布:2015-04-02 11:44
  • 更新:2019-12-12 10:33
  • 阅读:2123

关于plusready和resume无法触发

分类:HTML5+

在安卓和ios上把app进程杀掉后再次执行时,经常无法收到plusready事件以及resume事件,请问这是为什么。

2015-04-02 11:44 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

这种情况程序是被杀死了,而不是切换到后台在切换回来,所以不会受到resume事件。
但是plusready事件应该是可以收到的,重启应用后新开Webview窗口一定会收到plusready事件,如果没有收到此事件,请把代码贴出来,看看是不是代码写的不对。

1***@163.com

1***@163.com - 00后菜鸡

ios中plusready回调经常不触发

import React, {useState, useCallback, useEffect} from 'react';  
import {HashRouter as Router} from 'react-router-dom';  
// import {H5PlusStore} from 'stores/h5plus';  
import {RootStore} from 'stores/root';  
import ThemeStore from 'stores/theme';  
import App from './App';  

const Root = () => {  
  const [hasPlus, setPlus] = useState(false);  
  const handlePlusReady = useCallback(() => (() => {  
    // debugger;  
    window.plus.navigator.setStatusBarStyle('dark');  
    window.plus.screen.lockOrientation("portrait");    
    window.plus.nativeUI.toast('window.plus is ready');  
    window.plus.webview.currentWebview().setStyle({  
      softinputMode: "adjustResize"  // 弹出软键盘时自动改变webview的高度  
    });  
    setPlus(true);  
  })(), []);  
  useEffect(() => {  
    // debugger;  
    document.addEventListener('plusready', handlePlusReady, false);  

    return () => document.removeEventListener('plusready', handlePlusReady, false);  
  }, [handlePlusReady]);  

  if(!hasPlus) return null;  
  setTimeout(() => {  
    window.plus.navigator.closeSplashscreen();  
  });  

  return (  
    <Router>  
      <RootStore>  
        <ThemeStore>  
          <App/>  
        </ThemeStore>  
      </RootStore>  
    </Router>  
  )  
};  

export default Root;

该问题目前已经被锁定, 无法添加新回复