Samsung KNOX Customization SDK Release Notes Version 2.7.1 April 25, 2017
Copyright Notice Copyright 2015-2017 Samsung Electronics Co. Ltd. All rights reserved. Samsung is a registered trademark of Samsung Electronics Co. Ltd. Specifications and designs are subject to change without notice. Non-metric weights and measurements are approximate. All data were deemed correct at time of creation. Samsung is not liable for errors or omissions. Android and Google Play are trademarks of Google Inc. ARM and TrustZone are registered trademarks of ARM Ltd. or its subsidiaries. All brand, product, service names and logos are trademarks and/or registered trademarks of their respective owners and are hereby recognized and acknowledged. Document History Date April 28, 2014 Changes First version of document. July 11, 2014 Updated document to include changes related to v2.0. March 20, 2015 Updated document to include changes related to v2.4. August 31, 2015 Updated document to include architectural improvements and new features in v2.5. November 10, 2015 Updated document to include changes related to v2.6. December 23, 2015 Updated document to include changes related to v2.6 latest fixes. July 5, 2016 Updated document to include changes related to v2.7. April 23, 2017 Updated document to include changes related to Xcover APIs. Resources Learning Materials seap.samsung.com/developer/sdk/knox-customization-android Developer Forum https://seap.samsung.com/forum/category?forum=769 Support samsungknox.com/support
Contents 2.7.1 Xcover APIs Addition... 1 Settings Manager... 1 2.7.1 Changes... 2 2.7 Features... 3 Settings Manager... 3 System Manager... 3 2.6 Features... 4 Settings Manager... 4 System Manager... 4 2.5 Features... 6 Settings Manager... 7 System Manager... 8 ProKiosk Mode... 10 Deprecated... 12 Known Issues... 13
Preface About this guide This guide describes new features in the latest version of the Samsung KNOX Customization SDK Related resources Samsung KNOX Customization SDK Developer Guide Describes how to install the KNOX Customization SDK and start developing an app using the SDK. Samsung KNOX Customization SDK API Reference Describes the SDK s API methods, parameters, return values, and error codes. Includes sample code showing how to call API methods. Audience This guide is for app developers such as Systems Integrators, who want to use the Samsung KNOX Customization SDK to customize solutions for enterprise partners. The guide assumes that you are experienced with Android programming. It does not discuss how to build and deploy Android apps. Notational conventions This guide uses the following notation conventions. Boldface emphasizes words in text such as screen or window names. Italic identifies new words, emphasizes phrases, and identifies document names. Monospace represents information as it appears on a display or in command syntax.
2.7.1 Xcover APIs Addition To the existing KNOX Customization SDK version 2.7.1, the following new APIs are added specifically for Xcover 4 device. Settings Manager Feature New API methods Description Xcover Key setxcoverkeyapp Configure an app to launch on long/short press of the Xcover key. getxcoverkeyapp Returns the app set to launch on long/short press of Xcover key. Knox Customization SDK Release Notes 1
2.7.1 Changes Due operating system and Samsung device UI changes, the following methods and constants have been deprecated, and will not work on devices running Android Nougat or above: KnoxCustomManager.getSealedMultiWindowFixedState() KnoxCustomManager.setSealedMultiWindowFixedState() ProKioskManager.getMultiWindowFixedState() ProKioskManager.setMultiWindowFixedState() KnoxCustomManager.setLockscreenWallpaper() SystemManager.setLockscreenWallpaper() CustomDeviceManager.LOCK_SCREEN_ADDITIONAL_INFO (formerly used by SystemManager.setLockscreenHiddenItems()) CustomDeviceManager.CALL_SCREEN_INCALL_MENU (formerly used by SystemManager.setCallScreenDisabledItems()) ProKioskManager.setPowerDialogItems() CustomDeviceManager.POWER_DIALOG_AIRPLANEMODE KnoxCustomManager.setCustomOperatorName() CustomDeviceManager.NOTIFICATIONS_SAFE_VOLUME (formerly used by ProKioskManager.setHideNotificationMessages()) Note: Some deprecated methods have no replacements; see the Knox Customization SDK API Reference for complete method descriptions. Knox Customization SDK Release Notes 2
2.7 Features Version 2.7 of the KNOX Customization SDK provides the following new features: Settings Manager Feature New API methods Description Flight mode setflightmodestate Turn the flight mode on or off. System Manager Feature New API methods Description Home screen addshortcuttohomescreen Customize home screen items. removeshortcutfromhomescreen addwidgettohomescreen removewidgetfromhomescreen removeknoxcustomshortcutsfromh omescreen Lock screen setlockscreenshortcut Customize lock screen. getlockscreenshortcut Auto Answer Incoming Call setautocallpickupstate getautocallpickupstate Configure/manage auto answer incoming call numbers. addautocallnumber removeautocallnumber getautocallnumberlist getautocallnumberdelay getautocallnumberanswermode Mac Address getmacaddress Mac address. Power off poweroff Powers off the device. USB Type setusbconnectiontype getusbconnectiontype Configure USB connection type. Knox Customization SDK Release Notes 3
2.6 Features Version 2.6 of the KNOX Customization SDK provides the following new features: Settings Manager Feature New API methods Description Power Saving mode setpowersavingmode A new mode is added into this API. Use POWER_SAVING_ULTRA_OFF mode to turn off the Ultra Power Saving mode. System Manager Feature New API methods Description Animations clearanimation Clear the boot or shutdown animation, which was set using set animation APIs. Accessibility Settings Auto boot on power Control system sounds Control vibration intensity setaccessibilitysettingsitems getaccessibilitysettingsitems setforceautostartupstate getforceautostartupstate setsystemsoundsenabledstate getsystemsoundsenabledstate setvibrationintensity getvibrationintensity Control various accessibility settings. Automatically boot the device when power is applied. Allow control over system sounds. Useful for impaired users since haptic feedback and touch sounds could be enabled when required. Set the vibration intensity differently for the different vibration modes. DTMF tones senddtmftone Send DTMF tones over a voice call. Home screen Mobile hotspot Network type addshortcuttohomescreen removeshortcutfromhomescreen addwidgettohomescreen removewidgetfromhomescreen getparentscreen setwifihotspotenabledstate getwifihotspotenabledstate setmobilenetworktype getmobilenetworktype Allows home screen to be managed. Set the device as a mobile hotspot. Allow to set specified network type. Knox Customization SDK Release Notes 4
Quick panel items control Status bar setquickpaneleditmode getquickpaneleditmode setquickpanelitems getquickpanelitems setquickpanelbuttons getquickpanelbuttons setstatusbarnotificationsstate getstatusbarnotificationsstate Add or remove items from the quick panel on the status bar. Also allow the Edit button to be removed. Allows show or hide the notifications and ability to expand the status bar. Settings setflightmodestate Switches flight mode on and off. System wide ProKiosk functions setpowerdialogcustomitemsstate getpowerdialogcustomitemsstate setpowerdialogcustomitems getpowerdialogcustomitems setstatusbarmode getstatusbarmode These APIs were part of ProKiosk mode & can take effect only when device is in ProKiosk state. Now, there APIs can be used system wide, outside ProKiosk state. Knox Customization SDK Release Notes 5
2.5 Features Architectural improvements There were several enhancements to the SDK to improve API names, groups, permission control, and future scalability. If you have developed apps for earlier versions of the SDK, please review these changes. Although the latest v2.5 SDK provides backwards compatibility with earlier apps, you should update your existing apps to take advantage of all the new and improved features in the latest and future SDKs. The improvements are as follows: ProKiosk Mode This is the new name for Sealed Mode. New APIs and values have been created that use ProKiosk in place of Sealed. For example, the API method setprokioskstate replaces setsealedstate, and the permission CUSTOM_PROKIOSKMODE replaces CUSTOM_SEALEDMODE. cdm.jar This library replaces kcm.jar. CustomDeviceManager This class replaces KnoxCustomManager. ProKioskManager, SettingsManager, SystemManager The KnoxCustomManger class provided all the API methods in earlier versions of the SDK. The APIs have now been split between these three classes to provide better classification and permission control. With v2.5, here is how to get a custom device instance and enable kiosk mode: CustomDeviceManager cdm = CustomDeviceManager.getInstance(); ProKioskManager pkm = cdm.getprokioskmanager(); result = pkm.setprokioskstate(true, mpasscode); This replaces the process used in v2.4.1 and earlier: KnoxCustomManager kcm = KnoxCustomManager.getInstance(); result = kcm.setsealedstate(true, mpasscode); As you can see, there is now an additional step to get an instance of an object (ProKioskManager, SettingsManager, or SystemManager) that now manages an API method. You get the object first, then use it to call all API methods belonging to it. To see which object an API method belongs to, simply search for the method in the API Reference: Knox Customization SDK Release Notes 6
Version 2.5 of the KNOX Customization SDK provided the following API methods: Settings Manager setdeveloperoptionshidden setsettingshiddenstate getsettingshiddenstate setbluetoothvisibilitytimeout getbluetoothvisibilitytimeout setmobiledataroamingstate setwificonnectionmonitorstate getwificonnectionmonitorstate setwifinetworknotificationstate setpackageverifierstate getpackageverifierstate setbackuprestorestate getbackuprestorestate setmotioncontrolstate getmotioncontrolstate setstayawakestate setwifistate setpowersavingmode getpowersavingmode setchargingledstate getchargingledstate setscreenwakeuponpowerstate getscreenwakeuponpowerstate setltesettingstate getltesettingstate setairgestureoptionstate getairgestureoptionstate setwififrequencyband getwififrequencyband Knox Customization SDK Release Notes 7
System Manager checkenterprisepermission getserialnumber removelockscreen setaudiovolume setautorotationstate getautorotationstate setcpupowersavingstate getcpupowersavingstate setmultiwindowstate setscreenpowersavingstate getscreenpowersavingstate setscreentimeout getscreentimeout setsystemringtone setuserinactivitytimeout getuserinactivitytimeout dialemergencynumber setsystemsoundssilent setextendedcallinfostate getextendedcallinfostate setcheckcoverpopupstate getcheckcoverpopupstate setrecentlongpressactivity getrecentlongpressactivity setrecentlongpressmode getrecentlongpressmode setcallscreendisableditems getcallscreendisableditems setlockscreenwallpaper setinfraredstate getinfraredstate setsensordisabled getsensordisabled setcustomoperatorname getcustomoperatorname setvolumepanelenabledstate getvolumepanelenabledstate setvolumecontrolstream getvolumecontrolstream setstatusbartext getstatusbartext Knox Customization SDK Release Notes 8
getstatusbartextstyle Knox Customization SDK Release Notes 9
ProKiosk Mode setexitui getexitui sethardkeyintentstate gethardkeyintentstate sethidenotificationmessages gethidenotificationmessages sethomeactivity gethomeactivity setinputmethodrestrictionstate getinputmethodrestrictionstate setmultiwindowfixedstate getmultiwindowfixedstate setpasscode setpowerdialogcustomitemsstate getpowerdialogcustomitemsstate setpowerdialogcustomitems getpowerdialogcustomitems setpowerdialogitems getpowerdialogitems setpowerdialogoptionmode getpowerdialogoptionmode setprokioskstate getprokioskstate setprokioskstring getprokioskstring setstatusbarclockstate getstatusbarclockstate setstatusbariconsstate getstatusbariconsstate setstatusbarmode getstatusbarmode setusbmassstoragestate getusbmassstoragestate setusbnetaddresses getusbnetaddress setusbnetstate getusbnetstate setvolumekeyappstate getvolumekeyappstate setvolumekeyappslist getvolumekeyappslist Knox Customization SDK Release Notes 10
setsettingsenableditems Knox Customization SDK Release Notes 11
Deprecated Feature Interface Description Boot Animation setbootanimation This method is deprecated since Version 2.6 use setbootinganimation. Shutdown Animation setshutdownanimation This method is deprecated since Version 2.6 usesetshuttingdownanimation Knox Custom Manager KnoxCustomManager This class is deprecated Since version 2.5, If your device supports version 2.5 or above, please use the CustomDeviceManager class Knox Customization SDK Release Notes 12
Known Issues There are no known issues. Knox Customization SDK Release Notes 13