com.qihoo.livecloud.plugin

## Class LiveCloudPlugin

- java.lang.Object
- - com.qihoo.livecloud.plugin.LiveCloudPlugin

-     public class LiveCloudPlugin
      extends java.lang.Object

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `backgroundInstallOrUpdatePlugin(java.lang.String plugin)` 将正在安装或升级的插件转入后台运行，安装或升级完成后不再触发原事件
    `void` | `cancelInstallOrUpdatePlugin(java.lang.String plugin)` 取消安装或升级插件
    `int` | `checkInstallPlugin(Context context, java.lang.String plugin, java.lang.String version, ILiveCloudPlugin.PluginDownloadListener listener, LiveCloudPluginCallback callback)` 安装或升级插件
    `int` | `checkInstallPlugin(Context context, java.lang.String plugin, java.lang.String version, int type, ILiveCloudPlugin.PluginDownloadListener listener, LiveCloudPluginCallback callback)` 安装插件
    `void` | `checkUninstallPlugin(java.lang.String plugin, java.lang.String version)` 删除旧版本插件
    `int` | `checkUpdatePlugin(Context context, java.lang.String plugin, java.lang.String newVersion, ILiveCloudPlugin.PluginDownloadListener listener)` 升级插件，若新插件已下载，执行本地升级逻辑；否则后台静默下载新插件，待APP下次启动时再次执行本地升级逻辑
    `static LiveCloudPlugin` | `getInstance()`
    `java.lang.String` | `getPluginVersion(java.lang.String plugin)` 获取插件版本号
    `boolean` | `isDefaultPluginInstalled(java.lang.String plugin)` 检测是否自带插件
    `boolean` | `isPluginInstalled(java.lang.String plugin, java.lang.String version)` 检测插件是否已安装
    `boolean` | `isPluginLoaded(java.lang.String plugin)` 插件是否已加载
    `boolean` | `isPluginValid(java.lang.String plugin)` 插件是否有效，分两种情况： 1.系统自带 2.动态下载且加载成功
    `int` | `loadPlugin(java.lang.String plugin)` 加载已安装的插件
    `int` | `removePlugin(java.lang.String plugin)` 移除插件
    `void` | `setDefaultPluginInstalled(java.lang.String plugin, boolean defaultPluginInstalled)` 设置是否自带插件

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### getInstance

          public static LiveCloudPlugin getInstance()

    - #### setDefaultPluginInstalled

          public void setDefaultPluginInstalled(java.lang.String plugin,
                                                boolean defaultPluginInstalled)

      设置是否自带插件
      Parameters:
        `plugin` - 插件类型
        `defaultPluginInstalled` - true自带，false不自带

    - #### isDefaultPluginInstalled

          public boolean isDefaultPluginInstalled(java.lang.String plugin)

      检测是否自带插件
      Parameters:
        `plugin` - 插件类型
      Returns:
        true自带，false不自带

    - #### isPluginInstalled

          public boolean isPluginInstalled(java.lang.String plugin,
                                           java.lang.String version)

      检测插件是否已安装
      Parameters:
        `plugin` - 插件类型
        `version` - 插件版本号
      Returns:
        true已安装，false未安装

    - #### isPluginValid

          public boolean isPluginValid(java.lang.String plugin)

      插件是否有效，分两种情况：
      1.系统自带
      2.动态下载且加载成功
      Parameters:
        `plugin` - 插件类型
      Returns:
        true有效，false无效

    - #### loadPlugin

          public int loadPlugin(java.lang.String plugin)

      加载已安装的插件
      Parameters:
        `plugin` - 插件类型
      Returns:
        错误码，参见`LiveCloudPluginConstant.ERROR_UNKNOWN`等

    - #### isPluginLoaded

          public boolean isPluginLoaded(java.lang.String plugin)

      插件是否已加载
      Parameters:
        `plugin` - 插件类型
      Returns:
        true已加载，false未加载

    - #### getPluginVersion

          public java.lang.String getPluginVersion(java.lang.String plugin)

      获取插件版本号
      Parameters:
        `plugin` - 插件类型
      Returns:
        已安装时返回版本号，否则返回null

    - #### checkUninstallPlugin

          public void checkUninstallPlugin(java.lang.String plugin,
                                           java.lang.String version)

      删除旧版本插件
      Parameters:
        `plugin` - 插件类型
        `version` - 插件版本号

    - #### checkInstallPlugin

          public int checkInstallPlugin(Context context,
                                        java.lang.String plugin,
                                        java.lang.String version,
                                        ILiveCloudPlugin.PluginDownloadListener listener,
                                        LiveCloudPluginCallback callback)

      安装或升级插件
      Parameters:
        `context` - context
        `plugin` - 插件类型
        `version` - 插件版本号
        `listener` - 插件下载监听接口
        `callback` - 回调接口
      Returns:
        错误码，`LiveCloudPluginConstant.ERROR_INSTALL_RUNNING`表示插件正在后台安装或升级， `LiveCloudPluginConstant.ERROR_SUCCESS`表示插件开始安装或升级

    - #### checkInstallPlugin

          public int checkInstallPlugin(Context context,
                                        java.lang.String plugin,
                                        java.lang.String version,
                                        int type,
                                        ILiveCloudPlugin.PluginDownloadListener listener,
                                        LiveCloudPluginCallback callback)

      安装插件
      Parameters:
        `context` - context
        `plugin` - 插件类型
        `version` - 插件版本号
        `type` - 插件下载类型，参见`LiveCloudPluginConstant.DT_INSTALL`、`LiveCloudPluginConstant.DT_UPDATE`
        `listener` - 插件下载监听接口
        `callback` - 回调接口
      Returns:
        错误码，`LiveCloudPluginConstant.ERROR_INSTALL_RUNNING`表示插件正在后台安装或升级， `LiveCloudPluginConstant.ERROR_SUCCESS`表示插件开始安装或升级

    - #### checkUpdatePlugin

          public int checkUpdatePlugin(Context context,
                                       java.lang.String plugin,
                                       java.lang.String newVersion,
                                       ILiveCloudPlugin.PluginDownloadListener listener)

      升级插件，若新插件已下载，执行本地升级逻辑；否则后台静默下载新插件，待APP下次启动时再次执行本地升级逻辑
      Parameters:
        `context` - context
        `plugin` - 插件类型
        `newVersion` - 插件新版本号
        `listener` - 插件下载监听接口
      Returns:
        错误码，参见`LiveCloudPluginConstant.ERROR_UNKNOWN`等

    - #### cancelInstallOrUpdatePlugin

          public void cancelInstallOrUpdatePlugin(java.lang.String plugin)

      取消安装或升级插件
      Parameters:
        `plugin` - 插件类型

    - #### backgroundInstallOrUpdatePlugin

          public void backgroundInstallOrUpdatePlugin(java.lang.String plugin)

      将正在安装或升级的插件转入后台运行，安装或升级完成后不再触发原事件
      Parameters:
        `plugin` - 插件类型

    - #### removePlugin

          public int removePlugin(java.lang.String plugin)

      移除插件
      Parameters:
        `plugin` - 插件类型
      Returns:
        错误码，参见`LiveCloudPluginConstant.ERROR_UNKNOWN`等