是否可以在我的應用內以編程方式啓用USB調試(在settings/applications/development下)?以編程方式從應用內啓用USB調試(在settings/applications/development下)
我在看Permission.WRITE_SETTINGS
和 http://developer.android.com/reference/android/provider/Settings.System.html, 但我找不到任何合適的東西。
是否可以在我的應用內以編程方式啓用USB調試(在settings/applications/development下)?以編程方式從應用內啓用USB調試(在settings/applications/development下)
我在看Permission.WRITE_SETTINGS
和 http://developer.android.com/reference/android/provider/Settings.System.html, 但我找不到任何合適的東西。
如果不使用您自己的自定義固件來授予對安全設置的訪問權限,那麼這是不可能的。 請參閱線程:http://groups.google.com/group/android-developers/browse_frm/thread/953c6f0eb0fa9bed#
您將需要root權限才能從應用程序執行此操作。
這就是說,它是可能通過執行以下終端命令來啓用ADB:
setprop persist.service.adb.enable 1
start adbd
This blog post給出如何通過su
與已上報權限執行這些命令一個很好的例子。
這行代碼可以幫助:
Settings.Global.putInt(getContentResolver(), Global.ADB_ENABLED, 1);
,你需要這個權限:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
但在清單中添加此權限後,您會收到此錯誤: 權限僅授予系統應用程序
這意味着您的應用必須是系統應用。
簡單的好奇心:爲什麼你想在應用程序中這樣做,因爲連接到計算機時需要驅動程序? – Sephy 2010-08-11 12:53:56
這不是問題。我正在寫一個將在預定義的計算機上運行的同步應用程序(java webstart)。用戶應能夠同步電話,但是當我將設備交給他們時,它處於非調試模式。當用戶想要同步時,應用程序應啓用/禁用調試模式,因爲他們的用戶永遠不會退出我的應用程序。 我的應用程序在啓動時啓動,默認設置爲默認的家庭意圖。 (背景:我使用設備捆綁應用程序,然後將其出租給用戶)。但'同步站'將被預先配置並且已經安裝了JRE,設備驅動程序等。 – 2010-08-11 13:07:06
...加上我想從同步程序調用adb ...這就是爲什麼簡單的USB安裝是不夠的(或需要額外的解決方法) – 2010-08-11 13:29:47