Remote control
With the increasing complexity of problems that IT admins must solve, Knox remote control provides IT admins a powerful way to quickly and remotely fix issues. IT admins can:
- see what the remote device is displaying in real-time
- control the remote device by injecting actions such as finger, keyboard, and mouse events
Although other mobile platforms offer remote viewing of device displays, only Samsung Knox devices provide secure, built-in remote control of devices without requiring third-party solutions.
Remote control has two sub-functions:
-
Remote viewing (RemoteDesktop) — for reading device screen content through SurfaceFlinger. The remote viewing APIs are accessed through the native (C)
RemoteDesktop library
.This feature was deprecated in API level 35 with Knox SDK v3.8.
-
Remote injection (RemoteInjection) — for keystroke, touch, or trackball events. The remote injection APIs are accessed through the
RemoteInjection
(Java) class in thecom.samsung.android.knox.remotecontrol
package.
Prerequisites
To use the remote viewing feature, download the Knox SDK and retrieve the following native C library files:
-
For Android P and later —
- ~\nativelibs\arm*\libknox_remotedesktopclient.knox.samsung.so NEW
- ~\nativelibs\arm*\RemoteDesktop.h
-
For Android N and O —
- ~\nativelibs\arm*\libknox_remotedesktopclient.so
- ~\nativelibs\arm*\RemoteDesktop.h
These native C libraries are supported only on ARM-based chipsets. For details about the remote viewing APIs provided, see the Remote Desktop API reference and header file.
It is important to check the Android version when System.loadlibrary(".so")
loads, and compile the app with the appropriate .so
name based on the Android version.
Permission
If you haven’t already, activate a KPE Premium Development license to give your app the permission needed to use both remote viewing and injection. To get this permission:
To use the remote control features, your app needs the permission com.samsung.android.knox.permission.KNOX_REMOTE_CONTROL
.
Update your Android Manifest file to declare the permission:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android" package="com.my.rcapp">
<uses-permission android:name="com.samsung.android.knox.permission.KNOX_REMOTE_CONTROL" />
<application>
<!-- Enable selective Knox permissions (optional)-->
<meta-data android:name="com.samsung.knoxlicense.permissions" android:value="true"/>
</application>
</manifest>
You can now use the remote viewing and remote injection features. From Knox 3.4.1 onwards, you can also use remote control for the DeX screen and work profiles.
On this page
Is this page helpful?