1

我目前正在尝试使用 BBM SDK 1.0 ( net_rim_bb_qm_platform.jar)。集成没有问题,除非设备的 BBM 版本低于 6,根据库的要求。

我想知道是否有某种“反射”类型的系统可以用来在启动时测试是否包含库,我非常怀疑。或者一种限制 App World 下载的方法,如果设备有 BBM 5,则下载没有 BBM 集成的版本,否则下载另一个。

4

1 回答 1

2

首先,您需要确定您的应用程序是否必须具有BBM,或者它是否仍然可以在没有 BBM 的情况下以某种降级模式运行(功能较少)。听起来您的应用程序可以在没有 BBM 的情况下运行,所以我将解决这种情况:

查看BlackBerry.com 上 R. Masroor 提供的此文档和示例代码

根据描述(粗体是我的):

RIM 提供的 BBM 依赖检查器示例提供了两种与 BBM 集成的方法。

a) 当应用程序在没有 BBM 的情况下无法运行时适用的代理方法——它指示用户下载 BBM。

b) 相比之下,接口方法为应用程序提供了一种将自己与 BBM 隔离的方法,这样即使没有安装 BBM,应用程序也可以运行。

为什么需要这种隔离?因为如果一个 cod(项目)引用了任何 BBM 方法,那么 BBM 必须在设备上并处于合适的级别,然后才能加载该 cod。因此,如果应用程序直接引用 BBM 并且设备上没有 BBM(或没有合适的 BBM 级别),则应用程序将无法运行。

在这两种方法中,接口方法可能是最有用的,因为大多数应用程序都具有没有 BBM 的功能。但是这种方法有两个缺点:

RuntimeStore• 注册对象需要启动过程

• 分层方法和回调的使用使这对我来说相当复杂。

附加项目演示了接口方法的变体,它在应用程序启动时创建接口对象,使用 class.forName(). 除了这个变化之外,提供的示例与接口方法类似,并在下面进行说明。在解释了所附项目之后,本文档解释了如何创建一个您可能会发现更容易使用的不同结构。

另外,作为参考,您可以查看BBM SDK 下载BBMSDKDemoProxy附带的示例项目。

于 2013-06-10T22:36:52.500 回答