Allow the remote control of Zebra devices (via unattended access) - TeamViewer Support
<main>
<article class="userContent">
<h3></h3><h2 data-id="general">General</h2><div class="blockquote"><div class="blockquote-content"><p class="blockquote-line"><em>This article applies to </em><a href="https://www.teamviewer.com/buy-now/" rel="nofollow noreferrer ugc"><em>licensed</em></a><em> users who have MDS (Mobile Device Support).</em></p></div></div><p><br></p><h3 data-id="-1"></h3><h2 data-id="prerequisites">Prerequisites</h2><p>This document assumes the following items are already in place:</p><ul><li>The device is a Zebra device with an Android operating system</li><li>MX 9.3+ is installed</li><li>Host app is installed on the device</li></ul><p><strong>📌Note: </strong>You can check which MX version your device has via this link: </p><p><a href="https://techdocs.zebra.com/mx/mx-version-on-device/" rel="nofollow noreferrer ugc">Which MX/OSX is Installed? - TechDocs</a></p><p><br></p><h3 data-id="-2"></h3><h2 data-id="general-1">General</h2><p>To remote control the Zebra device without any interaction of the end-user (unattended access), the Eventinjection Service must be configured, and the TeamViewer apps need to have access to the Eventinjection Service. This configuration is handled over an XML-File. </p><p>This documentation will explain how to enable the Host app to remote control on your Zebra device.</p><p><br></p><p><strong>How does it work?</strong></p><p>You have plenty of ways to push your XML-file on your devices. You can push it:</p><p><br></p><h3 data-id="-3"></h3><h2 data-id="i.-via-mdmemm">I. Via MDM/EMM</h2><h3 data-id="1)-xml-config">1) XML Config</h3><p>If your MDM/EMM supports Zebra XML config deployment, all you need to do is push the XML through your MDM/EMM portal.</p><pre class="code codeBlock" spellcheck="false" tabindex="0"><wap-provisioningdoc>
<characteristic version="9.3" type="AccessMgr">
<parm name="OperationMode" value="1" />
<parm name="ServiceAccessAction" value="1" />
<parm name="ServiceIdentifier" value="com.zebra.eventinjectionservice" />
</characteristic>
<characteristic version="9.3" type="AccessMgr">
<parm name="OperationMode" value="1" />
<parm name="ServiceAccessAction" value="4" />
<parm name="ServiceIdentifier" value="com.zebra.eventinjectionservice" />
<parm name="CallerPackageName" value="com.teamviewer.host.market" />
<parm name="CallerSignature" value="MIIDmjCCAoKgAwIBAgIETMAbjTANBgkqhkiG9w0BAQUFADCBjTELMAkGA1UEBhMCREUxGzAZBgNVBAgTEkJhZGVuIFd1ZXJ0dGVtYmVyZzETMBEGA1UEBxMKR29lcHBpbmdlbjEYMBYGA1UEChMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQLEw9UZWFtVmlld2VyIEdtYkgxGDAWBgNVBAMTD1RlYW1WaWV3ZXIgR21iSDAgFw0xMDEwMjExMDUzMDFaGA8yMDUxMTExNTEwNTMwMVowgY0xCzAJBgNVBAYTAkRFMRswGQYDVQQIExJCYWRlbiBXdWVydHRlbWJlcmcxEzARBgNVBAcTCkdvZXBwaW5nZW4xGDAWBgNVBAoTD1RlYW1WaWV3ZXIgR21iSDEYMBYGA1UECxMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQDEw9UZWFtVmlld2VyIEdtYkgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWiS0FVkYhfPqp4exJUvuRmxJ1c+ofWVP7G8WUlw4FAg/81B1tGkUi11ezsJXwqkeH9v3bJRBTq1ibt/HWNXU25ubwQCX9w9ukD/VH4f1zi5vaeFy4u+xbUf59wDPrTQuOL8P5omE9p4INTI434Y8qEGU9152EOflQcLCkgqP8+NrpxKK4BUL864tC/QeO5TIj1fqJYrrUDkZCkmdI7xLnU72lX3wtOdntTNU55JAp7S8MOfCSWqWURyMtXZjvXH1Pcz0/Z9nrVqxy0H5V4olaLhtt6jN/iV75Zau0IDPzpkqtd6vJ9VfWkU5S7tm2DTuMn2byLh3nbqsM9iAlJZ91AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAJVK2jvHKBAYnqY64U2isMjj45Ksh5cDc52z7paSVjvXFgs1HGk6JamrfroxP0dp5adB5BtWmq+ogdpSeGQcIDz3Y0dlYa7lCfswMgrUXzvzJJ6eujSC8WGgRWxTheW5TBB8kl1xPemypKNWYUSopAEFlftW2L4fQfcNBwM+sX2QJpRohSxWhdI2Qv0OQ1fawNoL2ImDYpUeHAsUtb8VLewF+PSFGCGRR28LjItzoOK7AfbMpDE1VDnM8V+b8uoK4TbC3Q4EDBs6gdII68gaQPzg9wRMawhwNAPpugnZsacEKTks32VwM01ECZk/taKx8hyADZvg5DWHQoSjVNhm1S8=" />
</characteristic>
<characteristic version="9.3" type="AccessMgr">
<parm name="ServiceAccessAction" value="1" />
<parm name="ServiceIdentifier" value="com.zebra.remotedisplayservice" />
</characteristic>
<characteristic version="9.3" type="AccessMgr">
<parm name="ServiceAccessAction" value="4" />
<parm name="ServiceIdentifier" value="com.zebra.remotedisplayservice" />
<parm name="CallerPackageName" value="com.teamviewer.host.market" />
<parm name="CallerSignature" value="MIIDmjCCAoKgAwIBAgIETMAbjTANBgkqhkiG9w0BAQUFADCBjTELMAkGA1UEBhMCREUxGzAZBgNVBAgTEkJhZGVuIFd1ZXJ0dGVtYmVyZzETMBEGA1UEBxMKR29lcHBpbmdlbjEYMBYGA1UEChMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQLEw9UZWFtVmlld2VyIEdtYkgxGDAWBgNVBAMTD1RlYW1WaWV3ZXIgR21iSDAgFw0xMDEwMjExMDUzMDFaGA8yMDUxMTExNTEwNTMwMVowgY0xCzAJBgNVBAYTAkRFMRswGQYDVQQIExJCYWRlbiBXdWVydHRlbWJlcmcxEzARBgNVBAcTCkdvZXBwaW5nZW4xGDAWBgNVBAoTD1RlYW1WaWV3ZXIgR21iSDEYMBYGA1UECxMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQDEw9UZWFtVmlld2VyIEdtYkgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWiS0FVkYhfPqp4exJUvuRmxJ1c+ofWVP7G8WUlw4FAg/81B1tGkUi11ezsJXwqkeH9v3bJRBTq1ibt/HWNXU25ubwQCX9w9ukD/VH4f1zi5vaeFy4u+xbUf59wDPrTQuOL8P5omE9p4INTI434Y8qEGU9152EOflQcLCkgqP8+NrpxKK4BUL864tC/QeO5TIj1fqJYrrUDkZCkmdI7xLnU72lX3wtOdntTNU55JAp7S8MOfCSWqWURyMtXZjvXH1Pcz0/Z9nrVqxy0H5V4olaLhtt6jN/iV75Zau0IDPzpkqtd6vJ9VfWkU5S7tm2DTuMn2byLh3nbqsM9iAlJZ91AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAJVK2jvHKBAYnqY64U2isMjj45Ksh5cDc52z7paSVjvXFgs1HGk6JamrfroxP0dp5adB5BtWmq+ogdpSeGQcIDz3Y0dlYa7lCfswMgrUXzvzJJ6eujSC8WGgRWxTheW5TBB8kl1xPemypKNWYUSopAEFlftW2L4fQfcNBwM+sX2QJpRohSxWhdI2Qv0OQ1fawNoL2ImDYpUeHAsUtb8VLewF+PSFGCGRR28LjItzoOK7AfbMpDE1VDnM8V+b8uoK4TbC3Q4EDBs6gdII68gaQPzg9wRMawhwNAPpugnZsacEKTks32VwM01ECZk/taKx8hyADZvg5DWHQoSjVNhm1S8=" />
</wap-provisioningdoc>
</pre><h4 data-id="-4"></h4><h3 data-id="2)-oemconfig">2) OEMConfig</h3><p>If your MDM/EMM supports OEMConfig, you can create a profile with the config parameters below, then assign it to your device from the MDM/EMM portal. These parameters are the same for all of MDMs/EMMs which we integrate with, even though the access UI to the OEMConfig setup is different for each MDM/EMM.</p><p>OEMConfig parameters setup:</p><h4 data-id="1)-allow-remote-control">1) Allow Remote Control</h4><div class="embedExternal embedImage display-large float-none">
<div class="embedExternal-content">
<a class="embedImage-link" href="https://us.v-cdn.net/6032394/uploads/6WHNWV0L916V/01-enable-remote-control.png" rel="nofollow noreferrer noopener ugc" target="_blank">
<img class="embedImage-img" src="https://us.v-cdn.net/6032394/uploads/6WHNWV0L916V/01-enable-remote-control.png" alt="01- Enable Remote Control.png" height="725" width="814" loading="lazy" data-display-size="large" data-float="none"></img></a>
</div>
</div>
<ul><li>In Transaction Step select “Service Access Configuration” then “Configure”</li><li>Select ‘Allow’ for ‘Service Binding Action’.</li><li>Fill in the ‘Allow Service Identifier’ with: com.zebra.eventinjectionservice</li><li>Select ‘Allow’ for ‘Service Caller Action’ and use the same service identifier as in the above</li><li>Fill in the ‘Allow Caller package’ with: com.teamviewer.host.market</li><li>Fill in the ‘Allow Caller signature’ with:</li></ul><pre class="code codeBlock" spellcheck="false" tabindex="0">MIIDmjCCAoKgAwIBAgIETMAbjTANBgkqhkiG9w0BAQUFADCBjTELMAkGA1UEBhMCREUxGzAZBgNVBAgTEkJhZGVuIFd1ZXJ0dGVtYmVyZzETMBEGA1UEBxMKR29lcHBpbmdlbjEYMBYGA1UEChMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQLEw9UZWFtVmlld2VyIEdtYkgxGDAWBgNVBAMTD1RlYW1WaWV3ZXIgR21iSDAgFw0xMDEwMjExMDUzMDFaGA8yMDUxMTExNTEwNTMwMVowgY0xCzAJBgNVBAYTAkRFMRswGQYDVQQIExJCYWRlbiBXdWVydHRlbWJlcmcxEzARBgNVBAcTCkdvZXBwaW5nZW4xGDAWBgNVBAoTD1RlYW1WaWV3ZXIgR21iSDEYMBYGA1UECxMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQDEw9UZWFtVmlld2VyIEdtYkgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWiS0FVkYhfPqp4exJUvuRmxJ1c+ofWVP7G8WUlw4FAg/81B1tGkUi11ezsJXwqkeH9v3bJRBTq1ibt/HWNXU25ubwQCX9w9ukD/VH4f1zi5vaeFy4u+xbUf59wDPrTQuOL8P5omE9p4INTI434Y8qEGU9152EOflQcLCkgqP8+NrpxKK4BUL864tC/QeO5TIj1fqJYrrUDkZCkmdI7xLnU72lX3wtOdntTNU55JAp7S8MOfCSWqWURyMtXZjvXH1Pcz0/Z9nrVqxy0H5V4olaLhtt6jN/iV75Zau0IDPzpkqtd6vJ9VfWkU5S7tm2DTuMn2byLh3nbqsM9iAlJZ91AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAJVK2jvHKBAYnqY64U2isMjj45Ksh5cDc52z7paSVjvXFgs1HGk6JamrfroxP0dp5adB5BtWmq+ogdpSeGQcIDz3Y0dlYa7lCfswMgrUXzvzJJ6eujSC8WGgRWxTheW5TBB8kl1xPemypKNWYUSopAEFlftW2L4fQfcNBwM+sX2QJpRohSxWhdI2Qv0OQ1fawNoL2ImDYpUeHAsUtb8VLewF+PSFGCGRR28LjItzoOK7AfbMpDE1VDnM8V+b8uoK4TbC3Q4EDBs6gdII68gaQPzg9wRMawhwNAPpugnZsacEKTks32VwM01ECZk/taKx8hyADZvg5DWHQoSjVNhm1S8=
</pre><h4 data-id="2)-allow-unattended-access">2) Allow Unattended Access</h4><h5 data-id="a)-add-transaction-step%3A">a) Add Transaction Step:</h5><div class="embedExternal embedImage display-large float-none">
<div class="embedExternal-content">
<a class="embedImage-link" href="https://us.v-cdn.net/6032394/uploads/9Y3J6AMIYJP0/image.png" rel="nofollow noreferrer noopener ugc" target="_blank">
<img class="embedImage-img" src="https://us.v-cdn.net/6032394/uploads/9Y3J6AMIYJP0/image.png" alt="image.png" height="360" width="776" loading="lazy" data-display-size="large" data-float="none"></img></a>
</div>
</div>
<ul><li>Select the “Transaction Steps” options (3 dots)</li><li>Select “Add setting”</li><li>In the newly created Transaction Step select “Service Access Configuration” then "Configure"</li></ul><h5 data-id="b)-apply-settings">b) Apply settings </h5><div class="embedExternal embedImage display-large float-none">
<div class="embedExternal-content">
<a class="embedImage-link" href="https://us.v-cdn.net/6032394/uploads/DIDV7EOAVVVU/03-enable-remote-display.png" rel="nofollow noreferrer noopener ugc" target="_blank">
<img class="embedImage-img" src="https://us.v-cdn.net/6032394/uploads/DIDV7EOAVVVU/03-enable-remote-display.png" alt="03- Enable Remote Display.png" height="700" width="757" loading="lazy" data-display-size="large" data-float="none"></img></a>
</div>
</div>
<ul><li>Select ‘Allow’ for ‘Service Binding Action’.</li><li>Fill in the ‘Allow Service Identifier’ with: com.zebra.remotedisplayservice</li><li>Select ‘Allow’ for ‘Service Caller Action’ and use the same service identifier as in the above</li><li>Fill in the ‘Allow Caller package’ with: com.teamviewer.host.market</li><li>Fill in the ‘Allow Caller signature’ with:</li></ul><pre class="code codeBlock" spellcheck="false" tabindex="0">MIIDmjCCAoKgAwIBAgIETMAbjTANBgkqhkiG9w0BAQUFADCBjTELMAkGA1UEBhMCREUxGzAZBgNVBAgTEkJhZGVuIFd1ZXJ0dGVtYmVyZzETMBEGA1UEBxMKR29lcHBpbmdlbjEYMBYGA1UEChMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQLEw9UZWFtVmlld2VyIEdtYkgxGDAWBgNVBAMTD1RlYW1WaWV3ZXIgR21iSDAgFw0xMDEwMjExMDUzMDFaGA8yMDUxMTExNTEwNTMwMVowgY0xCzAJBgNVBAYTAkRFMRswGQYDVQQIExJCYWRlbiBXdWVydHRlbWJlcmcxEzARBgNVBAcTCkdvZXBwaW5nZW4xGDAWBgNVBAoTD1RlYW1WaWV3ZXIgR21iSDEYMBYGA1UECxMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQDEw9UZWFtVmlld2VyIEdtYkgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWiS0FVkYhfPqp4exJUvuRmxJ1c+ofWVP7G8WUlw4FAg/81B1tGkUi11ezsJXwqkeH9v3bJRBTq1ibt/HWNXU25ubwQCX9w9ukD/VH4f1zi5vaeFy4u+xbUf59wDPrTQuOL8P5omE9p4INTI434Y8qEGU9152EOflQcLCkgqP8+NrpxKK4BUL864tC/QeO5TIj1fqJYrrUDkZCkmdI7xLnU72lX3wtOdntTNU55JAp7S8MOfCSWqWURyMtXZjvXH1Pcz0/Z9nrVqxy0H5V4olaLhtt6jN/iV75Zau0IDPzpkqtd6vJ9VfWkU5S7tm2DTuMn2byLh3nbqsM9iAlJZ91AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAJVK2jvHKBAYnqY64U2isMjj45Ksh5cDc52z7paSVjvXFgs1HGk6JamrfroxP0dp5adB5BtWmq+ogdpSeGQcIDz3Y0dlYa7lCfswMgrUXzvzJJ6eujSC8WGgRWxTheW5TBB8kl1xPemypKNWYUSopAEFlftW2L4fQfcNBwM+sX2QJpRohSxWhdI2Qv0OQ1fawNoL2ImDYpUeHAsUtb8VLewF+PSFGCGRR28LjItzoOK7AfbMpDE1VDnM8V+b8uoK4TbC3Q4EDBs6gdII68gaQPzg9wRMawhwNAPpugnZsacEKTks32VwM01ECZk/taKx8hyADZvg5DWHQoSjVNhm1S8=
</pre><p><br></p><h3 data-id="-5"></h3><h2 data-id="ii.-via-stagenow">II. Via StageNow</h2><p>You need to prepare this master device via creating a staging profile via <a href="https://www.zebra.com/us/en/products/software/mobile-computers/mobile-app-utilities/stagenow.html" rel="nofollow noreferrer ugc">StageNow.</a> Once the settings on the master device are done, you need to <a href="http://techdocs.zebra.com/stagenow/2-10/stagingprofiles/#exportingstagingprofiles" rel="nofollow noreferrer ugc">export it</a>, so you can deploy it on your device. You will obtain an XML-file which you can choose your preferred method to push your XML Config to your devices:</p><ul><li>Via Barcode</li><li>Via Audio</li><li>Via NFC Tag</li></ul><p>Once this is done, you will able to remote control your Zebra device.</p><p>For allowing an app to call the Event Injection service, we need to specify the Signature of that app. When using the StageNow Tool, a <code class="code codeInline" spellcheck="false" tabindex="0">.crt</code> file has to be specified from which the caller signature will be included. Please use the attached file <a href="https://teamviewer-my.sharepoint.com/:u:/p/athan_papakostas/Ebqwea-IHg5Ah4syRRAS1IABeFZNbXgOiwsCtR1kfYNO1g?e=NkgRJh" rel="nofollow noreferrer ugc">TeamViewerAppSignature.crt</a></p><p>We also provide a working example of bar codes the Host App for the sake of simplification.</p><div class="js-embed embedResponsive" data-embedjson="{"url":"https:\/\/us.v-cdn.net\/6032394\/uploads\/GSWK6ODULA40\/enableremotedisplayforhost.pdf","name":"EnableRemoteDisplayForHost.pdf","type":"application\/pdf","size":13345,"displaySize":"large","float":"none","mediaID":2626,"dateInserted":"2021-01-26T17:18:26+00:00","insertUserID":107073,"foreignType":"embed","foreignID":107073,"embedType":"file"}">
<a href="https://us.v-cdn.net/6032394/uploads/GSWK6ODULA40/enableremotedisplayforhost.pdf" download="" aria-label="EnableRemoteDisplayForHost.pdf">
EnableRemoteDisplayForHost.pdf
</a>
</div>
<div class="js-embed embedResponsive" data-embedjson="{"url":"https:\/\/us.v-cdn.net\/6032394\/uploads\/4CAMBP380JZO\/enableremotedisplayforhost-2.pdf","name":"EnableRemoteDisplayForHost_2.pdf","type":"application\/pdf","size":13345,"displaySize":"large","float":"none","mediaID":8919,"dateInserted":"2021-07-22T09:43:31+00:00","insertUserID":107073,"foreignType":"embed","foreignID":107073,"embedType":"file"}">
<a href="https://us.v-cdn.net/6032394/uploads/4CAMBP380JZO/enableremotedisplayforhost-2.pdf" download="" aria-label="EnableRemoteDisplayForHost_2.pdf">
EnableRemoteDisplayForHost_2.pdf
</a>
</div>
<p><br></p>
</article>
</main>