如何从Android应用程序在Blackberry Access中打开url



我已经使用url方案成功地从我们的IOS应用程序打开了黑莓访问access://open?,但它似乎在安卓系统上不起作用。我们的应用程序没有与blackberry sdk集成。

对于任何需要它的人,你可以使用黑莓访问appid com.good.gdgma.从你的应用程序打开黑莓访问

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(urlString));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setPackage("com.good.gdgma");
try {
getApplicationContext().startActivity(intent);
}
catch(ActivityNotFoundException ex) {
showNotInstalledDialog(App.BLACKBERRY_ACCESS);
}

有一个为BlackBerry Access设置的应用程序内配置策略,用于启用或禁用此功能。它被称为";允许外部应用程序通过BlackBerry Access打开HTTP/HTTPS URL";并且被设置为BlackBerry UEM内的BlackBerry Access的应用配置。此设置适用于打开BlackBerry Access的所有非BlackBerry Dynamics方法。

如果要与BlackBerry Dynamics SDK集成,建议使用BlackBerry Dynamics共享服务框架来调用Open HTTP URL服务。它适用于iOS和Android。以下是一些使用它的Android示例代码。

这里有一个代码片段可以做到这一点:

private static final String SERVICE_ID = "com.good.gdservice.open-url.http";
private static final String SERVICE_VERSION = "1.0.0.0";
private static final String ACCESS_ENTITLEMENT_ID = "com.good.gdgma";
private static final String HTTP_OPEN_URL_SERVICE_METHOD_NAME = "open";

//Get the service providers for the Open HTTP URL service.
List<GDServiceProvider> providers = GDAndroid.getInstance().getServiceProvidersFor(SERVICE_ID, SERVICE_VERSION,
GDServiceType.GD_SERVICE_TYPE_APPLICATION);
//Ensure an provider of the Open HTTP URL service was found.
if(providers == null || providers.size() == 0)
{
//No providers found.
showError("No Open HTTP URL were found.");
}
else
{
boolean foundAccess = false;
String yourURL = "www.whereEverYouWantToGo.com";
for (int count = 0; count < providers.size(); count++)
{
GDServiceProvider provider = providers.get(count);
//Ensure BlackBerry Access was found.
if (provider.getIdentifier().equalsIgnoreCase(ACCESS_ENTITLEMENT_ID))
{
foundAccess = true;
String address = providers.get(count).getAddress();
Map<String, Object> params = new HashMap<>();
params.put("url", yourURL);
try
{
//Launch BlackBerry Access.
GDServiceClient.sendTo(address, SERVICE_ID, SERVICE_VERSION,
HTTP_OPEN_URL_SERVICE_METHOD_NAME, params, null,
GDICCForegroundOptions.PreferPeerInForeground);
} catch (GDServiceException e)
{
showError(e.toString());
}
}
}
if (!foundAccess)
{
showError("BlackBerry Access not found.");
}
}

最新更新