`
yijianpiaoxue2011
  • 浏览: 1760 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

请教帖(phonegap中的cordova中的插件管理器(PluginManager)的同步和异步如何实现的)

阅读更多
   /**
     * Receives a request for execution and fulfills it by finding the appropriate
     * Java class and calling it's execute method.
     *
     * PluginManager.exec can be used either synchronously or async. In either case, a JSON encoded
     * string is returned that will indicate if any errors have occurred when trying to find
     * or execute the class denoted by the clazz argument.
     *
     * @param service       String containing the service to run
     * @param action        String containing the action that the class is supposed to perform. This is
     *                      passed to the plugin execute method and it is up to the plugin developer
     *                      how to deal with it.
     * @param callbackId    String containing the id of the callback that is execute in JavaScript if
     *                      this is an async plugin call.
     * @param rawArgs       An Array literal string containing any arguments needed in the
     *                      plugin execute method.
     */
    public void exec(final String service, final String action, final String callbackId, final String rawArgs) {
        if (numPendingUiExecs.get() > 0) {
            numPendingUiExecs.getAndIncrement();//获取并自增
            this.ctx.getActivity().runOnUiThread(new Runnable() {
                public void run() {
                    execHelper(service, action, callbackId, rawArgs);
                    numPendingUiExecs.getAndDecrement();//获取并自减
                }
            });
        } else {
            execHelper(service, action, callbackId, rawArgs);
        }
    }

 代码如上,小弟最近在看cordova,对于 PluginManager.exec can be used either synchronously or async,这句很不理解,希望大神们帮助解答一下,还有cordova是怎么实现同步和异步的?最好详细一些,小弟对此研究不深.

分享到:
评论

相关推荐

    自定义plugin插件实现phonegap与Android交互

    在"自定义plugin插件实现phonegap与Android交互"这个主题中,我们主要关注的是如何通过编写自定义插件来打通JavaScript和Android之间的通信壁垒。在PhoneGap中,Plugin是连接Web层和Native层的桥梁,它们是用Java...

    PhoneGap/Cordova的支付宝Android插件

    这个插件的目的是桥接JavaScript和Android原生代码,使PhoneGap/Cordova应用能够调用支付宝SDK,实现支付流程。 集成这个插件的过程大致如下: 1. **安装插件**:首先,开发者需要在项目的配置文件(config.xml)...

    phonegap/Cordova和android自定义插件模块,cordova build后插件不会消失

    在这个特定的问题中,我们关注的是如何在Android平台上创建和管理自定义插件,以及解决在执行`cordova build`命令后插件消失的问题。 PhoneGap和Cordova的核心原理是通过WebView将Web应用包装成原生应用,同时提供...

    百度移动广告联盟phonegap/cordova插件

    百度移动广告联盟phonegap/cordova插件,百度ssp广告phonegap插件,支持cordova和phonegap打包的ios和android应用,简单好用,只需要几行js就能在phonegap和cordova应用里面接入百度广告

    InstagramPlugin, 用于 phonegap/cordova的Instagram 插件.zip

    InstagramPlugin, 用于 phonegap/cordova的Instagram 插件 Cordova Instagram 插件由 。使用dataUrl和Android的Instagram 应用程序添加用于共享画布元素或者编码图像的内容的能力。 将插件安装到你的项目中如果使用...

    iOS phonegap/Cordova实现打开通讯录添加联系人插件

    通过以上内容,我们可以理解如何在iOS环境下,利用PhoneGap/Cordova和通讯录插件实现添加和打开通讯录的功能。这涉及到了Web开发、原生API交互、权限管理等多个方面,对于开发跨平台移动应用具有重要的实践意义。

    cordova扫码插件phonegap-plugin-barcodescanner,修复了在ios10上面的内存泄漏导致的闪退bug

    在这个场景中,我们关注的是一个名为`phonegap-plugin-barcodescanner`的插件,这是一个专门为PhoneGap/Cordova设计的扫码功能插件。 这个插件的主要作用是在iOS和Android等平台上实现条形码和二维码的扫描功能。...

    phonegap(cordova)环境配置

    win7(32位)环境下phonegap(cordova)环境的搭建过程,花了2天时间整理的,对初学者应该有所帮助。

    phonegap/cordova 案例android版本

    在这个“phonegap/cordova案例android版本”中,我们将深入探讨这两个工具如何协同工作,以及如何在Android平台上创建一个简单的应用。 PhoneGap是由Adobe维护的一个开放源代码项目,它基于Cordova,并提供了额外的...

    移动开发框架PhoneGap(cordova)

    PhoneGap,现称为Cordova,是由Apache软件基金会开发的一个开源移动应用开发框架,它允许开发者使用HTML、CSS和JavaScript等Web技术来构建原生的移动应用程序。PhoneGap的核心理念是利用WebView,即在移动设备上运行...

    phoneGap-cordova1.7完整实例

    PhoneGap和Cordova是移动应用开发的两个密切相关的技术。PhoneGap是由Adobe开发的一款开源框架,它允许开发者使用HTML5、CSS3和JavaScript来构建跨平台的原生移动应用。Cordova是PhoneGap的核心,它是一个开放源代码...

    phoneGap cordova 学习示例

    2. **集成PhoneGap/Cordova**:在Eclipse中使用PhoneGap或Cordova,首先需要安装PhoneGap/Cordova的插件,然后可以创建一个新的PhoneGap/Cordova项目,设置项目的配置信息,包括指定平台、添加依赖库等。 3. **开发...

    phonegap Cordova开发demo

    使用PhoneGap和Cordova,开发者可以编写一次H5代码,然后在iOS、Android、Windows Phone等多个平台上运行,实现了真正的跨平台开发。 3. **HelloCordovaWebView示例:** "HelloCordovaWebView"这个名字通常代表一...

    cordova二维码扫描插件

    总的来说,"Cordova二维码扫描插件"是一个高效、易用的解决方案,对于需要在Ionic、PhoneGap或其他基于Cordova的混合APP中实现二维码扫描功能的开发者来说,是一个理想的选择。它的出色设计和广泛兼容性使得开发者...

    phonegap(cordova)学习案例

    现在,PhoneGap是基于Cordova的一个包装器,提供了更友好的开发环境和一些额外的服务。 - **WebView原理**:PhoneGap应用的主要部分是一个包含Web内容的本地应用程序,这个应用程序使用WebView组件来呈现Web页面,并...

    Phonegap调用ios原生代码插件:cordova-ios.js

    Phonegap项目中,使用js脚本调用ios中OC代码,需要使用Phonegap提供的一个脚本插件:cordova.js

    cordova-plugin-pingpp, Ping 支付 Cordova / PhoneGap 插件.zip

    首先,`cordova-plugin-pingpp` 是一个专门为 Cordova 和 PhoneGap 设计的开源插件,它允许开发者在应用中集成 Ping++ 的支付接口,使用户可以在不离开应用的情况下完成支付流程。这个插件的核心功能在于提供了一套...

    cordova phonegap toast ios插件

    而“Cordova PhoneGap Toast iOS插件”是专为这类应用设计的一个功能组件,主要用于在iOS平台上实现弹出提示信息,类似于Android中的Toast控件,能够向用户展示短暂的通知信息而不打断当前操作。 【描述】:“一款...

    cordova框架以及插件

    虽然 PhoneGap 名称没有出现在标题和描述中,但它和 Cordova 在开发流程和目标上是紧密相关的。 综上所述,关于 "cordova框架以及插件" 的学习和实践,开发者需要掌握以下几个方面: 1. **Cordova 基础**:了解 ...

Global site tag (gtag.js) - Google Analytics