Full device remote control
Full device remote control allows your support agents to take full control of a user's device, for example to change system settings or control other apps. This feature is only supported on the Android and Windows SDKs.
On platforms that support full device remote control, there may be extra steps required during your SDK integration:
Android
React Native
Xamarin
macOS
Windows
Due to recent Google Play Store policy changes these instructions have been updated. You must be using SDK version v2.16.0 or above. See the Google Play Store requirements for details on listing your app when using this API.
Full device remote control for Android, including unattended access, uses an Accessibility Service that must be enabled on the device to grant access.
This feature is supported in API 21 (5.0 Lollipop) and above.
Add a new service declaration to your application
AndroidManifest.xml
file:<service
android:name="io.cobrowse.CobrowseAccessibilityService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
tools:node="merge" />
When added, your manifest should look something similar to this:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
...
<application>
...
<service
android:name="io.cobrowse.CobrowseAccessibilityService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
tools:node="merge" />
</application>
</manifest>
Enable the accessibility service the Cobrowse SDK will have added in the main device settings, eg. Settings -> Accessibility -> Your App Name. Note: this only has to be done the very first time.
Add the following resource via an XML file to enable a consent request to your users each time full device remote control is requested:
<bool
name="cobrowse_automatically_accept_media_projection_prompt">false
</bool>
Please follow the Android documentation to implement full device remote control using React Native.
Please follow the Android documentation to implement full device remote control using Xamarin.
Full device remote control available after user consents to the macOS permission and consent prompt, no extra integration needed.
Full device remote control by default, no extra integration needed.
We have built some logic and APIs to detect if the Android accessibility service is running, and if not, to deep link the user to the settings to enable it.
Show the sample UI with:
Android
React Native
Xamarin
CobrowseAccessibilityService.showSetup(...);
import { CobrowseAccessibilityService } from 'cobrowse-sdk-react-native'
CobrowseAccessibilityService.showSetup(...);
CobrowseAccessibilityService.ShowSetup(...)
Check if accessibility service is already running with:
Android
React Native
Xamarin
CobrowseAccessibilityService.isRunning(...);
import { CobrowseAccessibilityService } from 'cobrowse-sdk-react-native'
CobrowseAccessibilityService.isRunning(...);
CobrowseAccessibilityService.IsRunning(...)
Deep link user to accessibility settings with:
Android
Xamarin
Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Intent intent = new Intent(global::Android.Provider.Settings.ActionAccessibilitySettings);
intent.AddFlags(ActivityFlags.NewTask);
StartActivity(intent);
Last modified 6mo ago