如何从一个应用程序中启动AppWorld?[黑莓]

4

这可能是一个简单的问题,但我找不到解决方法。我想通过在我的BB应用程序中点击按钮来打开AppWorld。例如,当用户单击此按钮时,Appworld将显示“Facebook应用程序”页面。我能做到吗?

在Android平台上,此行启动GooglePlay以获取Facebook应用程序。BlackBerry是否支持此类方法?

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.facebook.katana")));

我认为这对你可能很有趣:http://supportforums.blackberry.com/t5/Java-Development/Programatically-invoking-App-World-client/td-p/710767 - Vit Khudenko
2个回答

6
这里有一个简单的方法来实现这个需求:
Browser.getDefaultSession().displayPage("http://appworld.blackberry.com/webstore/content/2360/?lang=en");

以上代码将在应用程序中调用浏览器并打开BlackBerry App World,我在设备上进行了测试,它完美地工作。现在我放了一个Whats App messenger链接,但您可以根据需要自定义链接。


唯一的缺陷是,当用户点击应用链接时,它会打开浏览器并重定向到提供的链接,如果用户按下返回按钮,则会将用户带回浏览器,然后再次按下返回按钮以返回应用程序。是否有一种方法可以绕过这个问题? - N Jay
嗨,我正在将一个Android应用程序移植到BB,但在从应用程序重定向到appworld时遇到问题。因此,我使用了这段代码,但是我遇到了错误“无法解析浏览器”。所以,我导入了“android.provider.browser”,但然后它说“浏览器中未定义getDefaultSession()方法”。请帮忙。 - Sahil Mittal

5
您可以使用以下代码直接从您的BB应用程序打开App World。 这段代码避免了首先打开浏览器的步骤。
Registry registry = Registry.getRegistry(this.getClass().getName());
Invocation invocation = new Invocation(null, null, 
                                       "net.rim.bb.appworld.Content", 
                                       false, ContentHandler.ACTION_OPEN);
invocation.setArgs(new String[] { /* app id in appworld */ });
registry.invoke(invocation);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接