http://www.lampbrother.net http://www.lampbrother.net
CordovaActivity类UML图
onResume方法首先重新调用了Config.init(this)方法,然后判断是否是第一次启动,如果是则直接返回,否则会调用appView.handleResume方法,该方法会触发JavaScript事件cordova.fireDocumentEvent(‘resume’),并通知pluginManager,最后进行计数。 onPause方法比较简单,当appView不为空时调用appView.handlePause方法,然后去掉启动画面SplashScreen。
onDestroy,onNewIntent,postMessage,sendJavascript,showWebPage方法的实现也和onPause方法类似,都是调用了appView的相关方法。
方法addService(String serviceType, String className) 用来添加Service,这个方法已经降级了,以后应该在res/xml/plugins.xml文件添加。
startActivityForResult方法首先给回调对象activityResultCallback赋值,设置activityResultKeepRunning,最后调用Activity的startActivityForResult方法。
onActivityResult方法当启动的Activity返回结果时会被调用。首先调用了Activity的onActivityResult方法获得数据,接着调用mUploadMessage.onReceiveValue(result),最后通过调用activityResultCallback的onActivityResult方法,通知Cordova插件。 onReceivedError方法负责当发生不可恢复的错误时,显示预定义的出错页面或错误信息。不可恢复的错误是指例如主要资源文件不可用等。如果配置了错误页面,会在UI线程停止进度条,调用appView.showWebPage方法显示错误页面,否则调用displayError方法弹出错误描述对话框。
onCreateOptionsMenu,onPrepareOptionsMenu,onOptionsItemSelected这几个方法类似,都是先调用postMessage发送对应的事件,然后调用父类Activity的对应方法。 onKeyUp和onKeyDown方法都是先调用appView的相关方法,然后调用Activity的相关方法。
本系列第一篇文章先这样吧,明天下篇文章分析CordovaResourceApi,CordovaWebView,CordovaWebViewClient等几个类。
http://www.lampbrother.net