Android 台灣中文網

標題: 關於 UsbManager [打印本頁]

作者: wjh1208    時間: 2014-10-13 18:11
標題: 關於 UsbManager
我想寫一個 當APP開啟時

停用 Phone 與 PC 連結(無法存取)

但是研究半天 沒有甚麼突破點...

有人有好的建議嗎?

目前退而求其次..以停用MTP為出發點



想說 只限用PTP,那就還好了

目前遇到的情況為(以下為片段程式碼)



MainActivity.java:

UsbManager um = (UsbManager)getSystemService(Context.USB_SERVICE);  
um.setCurrentFunction(UsbManager.USB_FUNCTION_PTP, true);  


AndroidManifest.xml:
    <uses-permission android:name="android.permission.MANAGE_USB"></uses-permission>      



10-13 09:57:38.007: E/AndroidRuntime(3495): FATAL EXCEPTION: main
10-13 09:57:38.007: E/AndroidRuntime(3495): java.lang.SecurityException: Neither user 10070 nor current process has android.permission.MANAGE_USB.
10-13 09:57:38.007: E/AndroidRuntime(3495):         at android.os.Parcel.readException(Parcel.java:1425)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at android.os.Parcel.readException(Parcel.java:1379)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at android.hardware.usb.IUsbManager$Stub$Proxy.setCurrentFunction(IUsbManager.java:666)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at android.hardware.usb.UsbManager.setCurrentFunction(UsbManager.java:453)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at com.example.usbtest.MainActivity.tt(MainActivity.java:43)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at com.example.usbtest.MainActivity.access$0(MainActivity.java:41)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at com.example.usbtest.MainActivity$1.onClick(MainActivity.java:32)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at android.view.View.performClick(View.java:4084)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at android.view.View$PerformClick.run(View.java:16966)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at android.os.Handler.handleCallback(Handler.java:615)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at android.os.Handler.dispatchMessage(Handler.java:92)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at android.os.Looper.loop(Looper.java:137)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at android.app.ActivityThread.main(ActivityThread.java:4745)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at java.lang.reflect.Method.invokeNative(Native Method)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at java.lang.reflect.Method.invoke(Method.java:511)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-13 09:57:38.007: E/AndroidRuntime(3495):         at dalvik.system.NativeStart.main(Native Method)





手機有Root,也將App丟進System/app   目錄下安裝

但似乎  還是無法獲取 MANAGE_USB 權限

請問有人知道原因嗎?還是我方法錯了呢?

麻煩了
作者: whl    時間: 2014-10-13 18:11
參考看看
作者: wjh1208    時間: 2014-10-15 10:28
whl 發表於 2014-10-13 18:11
參考看看

OK!!感謝回答
讓我有個方向




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1