GALAXYS5、Tab4等をAndroid5.1.1にアップデートするとUSBが使えなくなるみたい。
GooglePlayのクラッシュレポートを見るとこんな感じ。
1 2 3 4 5 |
java.lang.SecurityException: Admin does not have android.permission.sec.MDM_APP_MGMT at android.os.Parcel.readException(Parcel.java:1546) at android.os.Parcel.readException(Parcel.java:1499) at android.hardware.usb.IUsbManager$Stub$Proxy.requestDevicePermission(IUsbManager.java:653) at android.hardware.usb.UsbManager.requestPermission(UsbManager.java:432) |
AndroidのアプリでUSB機器を使うにはUsbManagerクラスを使ってパーミッションを要求する必要があります。
その際にUsbManager#requestPermissionというメソッドを呼び出すのですがそこで、android.permission.sec.MDM_APP_MGMTという意味不明な例外生成して落っこちてしまうみたいです。
というか連絡くださった方とのやりとりでは、アプリを起動する以前に単純にWebカメラをOTGケーブルで繋ぐだけでlicense apk確認できへんみたいなメッセージが出るそうです。
android.permission.sec.MDM_APP_MGMTってのはサムソンのエンタープライズ向けのSDK用のパーミッションらしいので、想像だとUSB機器を接続した際に、企業向けのセキュリティーチェック用USBドングルを繋いだ時の処理が問答無用で実行されてずっこけるって感じじゃないかなぁ。
せめて繋いだ機器のベンダーIDやクラスぐらいは確認してから処理しろよ。最近どんどん質が悪くなってるんじゃないか?
サムソンの開発者向けサイトでもissueに上がってました。
http://developer.samsung.com/forum/board/thread/view.do?boardName=General&messageId=285782
はやく直してくれろ〜