USB / RS232通信安全异常android.permission.sec.MDM_APP_MGMT

时间:2016-03-24 16:44:13

标签: android serial-port usb samsung-mobile usbserial

我创建了一个在三星Galaxy Tab Pro(SM-T900)上运行的Android应用程序。此应用程序的主要功能是使用USB主机模式和USB-to-Serial library进行RS232 / USB通信。

此应用程序一直运行良好,无需任何代码更新超过一年。但是,自Android 5.1的最新Samsung / Android更新以来,我遇到了安全错误,我无法再与USB / RS232设备通信。除此之外,我的应用运行正常,没有任何崩溃。我根本无法再进行USB / RS232通信。

这里是logcat:

03-24 17:03:09.015 2798-3149/? D/UsbSettingsManager: requestPermission:/dev/bus/usb/002/008 ,packageName com.example.pumpconnector ,pi PendingIntent{338f59ea: PendingIntentRecord{1fd58866 com.example.pumpconnector broadcastIntent}}
03-24 17:03:09.020 2798-3149/? D/ApplicationPolicy: isUsbDevicePermittedForPackage vendorId: 1027, productId: 24577, package: com.example.pumpconnector
03-24 17:03:09.020 13313-13332/com.example.pumpconnector V/MainActivity: java.lang.SecurityException: Admin  does not have android.permission.sec.MDM_APP_MGMT

该应用程序已配置为每当USB设备连接到设备时启动,该设备仍可在Samsung平板电脑上运行。该应用程序在其他(非三星)设备上完美运行。它在带有Android 6.0.1的LG Nexus 5上完全正常运行。已安装,也安装在Android 5.1的Moto G上。有关异常的谷歌搜索很快就会发现三星特定的更新/错误会阻止USB通信(请查看this thread)。

我尝试将以下行放在Manifest中(没有结果):

<uses-permission android:name="android.permission.sec.MDM_APP_MGMT"/>

有没有办法让我的应用程序获取android.permission.sec.MDM_APP_MGMT而无需等待三星修复它?感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

检查设备上的Knox版本(可能已在它们之间进行升级),并在knox网站上遵循migration guide

还要确保您使用KnoxEnterpriseLicenseManager并使用EnterpriseLicenseManager的基本许可证来验证KLM许可证。 Ofc您应该与便利的管理员一起在接收器中检查许可证。