我已经使用 url 方案 access://open? 从我们的 IOS 应用程序成功打开了黑莓访问。,但它似乎不适用于Android。我们的应用程序没有与 blackberry sdk 集成。
问问题
521 次
2 回答
0
BlackBerry Access 的应用程序配置策略中有一个设置可启用或禁用此功能。它被称为“允许外部应用程序通过 BlackBerry Access 打开 HTTP/HTTPS URL”,并为 BlackBerry UEM 中的 BlackBerry Access 应用程序配置设置。此设置适用于打开 BlackBerry Access 的所有非 BlackBerry Dynamics 方法。
如果您要与 BlackBerry Dynamics SDK 集成,推荐的方法是使用 BlackBerry Dynamics Shared Services 框架来调用Open HTTP URL Service。它适用于 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.");
}
}
于 2020-07-30T12:26:58.157 回答
0
对于任何需要它的人,您可以使用黑莓访问应用程序 ID 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);
}
于 2020-08-04T16:37:47.017 回答