Skip Navigation

BlackBerry Dynamics SDK for Android
 version 6.1

What's new in the 
BlackBerry Dynamics SDK for Android
 version 6.1

Required SDK changes
Feature
Description
Changes to software requirements
The following values specified in sdk/libs/handheld/gd/build.gradle:
  • com.android.tools.build:gradle: 3.1.4
  • compileSdkVersion 29
  • buildToolsVersion "29.0.0"
New SDK features and changes
Feature
Description
BlackBerry Dynamics
 shared user identifier
This release of the SDK adds a new 
BlackBerry Dynamics
 shared user identifier that uniquely identifies a container on a user's device. The identifier is intended for use by 
BlackBerry
 services. For more information, see the 
BlackBerry Dynamics
 Shared User Identifier section in the GDUtility class reference.
Changes to biometric prompts for 
Android
 10
The SDK now uses the new Biometric API instead of the deprecated FingerprintManager API, and includes changes for biometric prompts. For more information, see Improved biometric authentication dialogs on the Android Developers site.
The Biometric API supports 
Android
 10 devices and later that use face unlock instead of fingerprint authentication. The Biometric API allows apps to use the preferred device biometric setting enabled by the user, including Face Unlock, if "Allow 
Android
 fingerprint authentication" is enabled in the 
BlackBerry Dynamics
 profile. Devices with 
Android
 9 and earlier will continue to use fingerprint authentication.
Note that the text in the 
BlackBerry Dynamics
 profile and in the SDK references still refer to fingerprint authentication instead of biometrics authentication. This will be corrected in an upcoming release.
READ_PHONE_STATE permission no longer required
As a result of changes to support 
Android
 10, the SDK no longer requires the READ_PHONE_STATE permission. The SDK shows the RuntimePermissions screen and requests the READ_PHONE_STATE permission by default. This screen and the READ_PHONE_STATE permission will be removed from the SDK in an upcoming release. Until then, you can use the following instructions to disable this screen if the app does not require this permission:
  1. In the assets/ folder of the app, create a com.blackberry.dynamics.settings.json file. Note that this is different from the standard settings.json file using for other 
    BlackBerry Dynamics
     settings.
  2.  Add the following attribute:
    { "Request_READ_PHONE_STATE": “false” }
READ_PHONE_STATE is part of the PHONE permission group. Verify that your app requests any other required permissions from the PHONE group if you disable the RuntimePermissions screen.
Support for Night Mode
This release of the SDK adds support for Night Mode. The Greetings server and Application policy sample apps have been updated to demonstrate how to support this feature. The other sample apps in the SDK package use light mode.
You can turn off support for Night Mode in the 
BlackBerry Dynamics
 UI by adding the following code to the application class: 
import android.support.v7.app.AppCompatDelegate; ... AppCompatDelegate.setDefaultNightMode (AppCompatDelegate.MODE_NIGHT_NO);
This can be useful for apps that do not support Night Mode, to ensure a consistent UI experience (all screens will use light mode). Most of the sample apps in the SDK package include this code for reference.
The internal style and theme definitions included with the 
BlackBerry Dynamics
 SDK have changed. If your app was previously making use of any of these definitions, you may get errors when building your app, and may have to rework your UI to avoid some dependencies. It is a best practice that you do not rely on 
BlackBerry Dynamics
 styles when coding your UI. Please contact 
BlackBerry
 support if your app relied on a particular style and you need to know how it was defined.
New administrative and security features
Feature
Description
Configure the anti-debugging check in a 
UEM
 compliance profile
This release adds support for a new compliance option in 
UEM
 12.11 MR1 and later. In 
UEM
 12.11 MR1, if you enable the “Rooted OS or failed attestation” compliance option, there is a new sub-setting “Enable anti-debugging for 
BlackBerry Dynamics
 apps”. Previously, this feature was enabled by default if you enabled the “Rooted OS or failed attestation” option. This new option allows you to choose whether you want the 
BlackBerry Dynamics Runtime
 to perform a check for an active debugging tool. If it detects a debugging tool it stops the app. You may want to disable this option if you are currently testing a custom 
BlackBerry Dynamics
 app and are using a debugging tool in your environment.

BlackBerry Dynamics Launcher Library

This release uses 
BlackBerry Dynamics Launcher Library
 version 2.10.1.154.

Known issues

  • If a 
    UEM
     administrator creates and assigns a user credential profile that is configured to use a native keystore CA connection, when a user opens a 
    BlackBerry Dynamics
     app on an 
    Android
     10 device, the following error message displays: "You are required to select a personal certificate. You may need to install it if the required one is missing. Please try again." This is due to a change with the KeyChain.choosePrivateKeyAlias API in Android 10: https://issuetracker.google.com/issues/135667502 (GD-43362)
    To support a native keystore connection for 
    BlackBerry Dynamics
     apps on 
    Android
     10 devices, in the user credential profile, the administrator must do one of the following:
    • Leave the Issuers field blank. The user will be prompted to select the certificate when it is required.
    • Specify an issuer and verify that the order of the relative distinguished name complies with the required format for 
      Android
       10. For example, "CN=core2-TKCA02-CA,DC=core2,DC=sqm,DC=testnet,DC=rim,DC=net". The full distinguished name must be provided in the same order as within the target certificate. Partial names such as "DC=rim,DC=net" are not allowed.
  • If a user activates a 
    BlackBerry Dynamics
     app and access to that app later becomes blocked because of a compliance violation (based on the assigned 
    UEM
     compliance profile), when the user tries to activate additional 
    BlackBerry Dynamics
     apps, those apps cannot be activated because they cannot retrieve certificates from the blocked app. (GD-41592)
    Workaround:
     Resolve the compliance issue with the blocked app, or remove the blocked app and try the activation process again.
  • If the 
    UEM
     administrator enables FIPS in a 
    BlackBerry Dynamics
     profile and assigns it to a user account, 
    BlackBerry Dynamics
     apps on the user's device cannot verify an MD5 certificate thumbprint. (GD-38397)
    Workaround:
     Turn off FIPS in the 
    BlackBerry Dynamics
     profile or use SHA1, SHA224, SHA256, SHA384, or SHA512 instead.
  • After an administrator assigns a user credential profile, the user imports the required certificates when they install and open a 
    BlackBerry Dynamics
     app. When subsequent 
    BlackBerry Dynamics
     apps are installed and opened, the user is prompted to log in to the first app in order to share and use the previously imported certificates. If the user completes the initial certificate import using an app built with the 
    BlackBerry Dynamics SDK
     version 5.0 or later, and a subsequent app was built using a previous version of the SDK, the prompt to log in to the initial app will get stuck at a progress spinner and will not proceed. (GD-38337)
    Workaround:
     Update all deployed 
    BlackBerry Dynamics
     apps to use the latest version of the 
    BlackBerry Dynamics SDK
    .
  • If the 
    UEM
     administrator configures and assigns a user credential profile with a native keystore CA connection, on devices with a 
    Samsung Knox
     activation type, certificates may not be preselected during the app activation process. This is due to a known issue with 
    Samsung Knox
    . (GD-38251)
  • After an administrator assigns a user credential profile to a user, the user imports the required certificates when they install and open a 
    BlackBerry Dynamics
     app. When the user installs and opens additional 
    BlackBerry Dynamics
     apps, the user will see a list of certificates with previously imported certificates already selected. If the user selects additional certificates that are not preselected, the certificate enrollment will fail. The user can proceed only if they use the pre-selected certificates. (GD-38084)
  • If an administrator changes the settings of a SCEP profile or user credential profile based on a native keystore, users are not prompted to enroll the certificates again and only new certificates receive the updated settings. The administrator must delete the profile and create and assign a new one to apply the new settings. (GD-38029, GD-37857)
  • If the 
    UEM
     administrator assigns a user credential profile that uses 
    Entrust
    , and another user credential profile that uses PKI, when activating 
    BlackBerry Dynamics
     apps using an authentication delegate, the user is prompted to enroll the PKI certificate multiple times. (GD-35783)
  • The “Do not allow Android dictation” option in the 
    BlackBerry Dynamics
     profile in 
    UEM
     is used to stop dictation from keyboards, however there are certain keyboards that allow dictation through other channels. (GD-35440)
    Workaround
    : To help prevent dictation, select the “Enable Android keyboard restricted mode” option in the 
    BlackBerry Dynamics
     profile. This applies only to keyboards that support turning of personalized learning.