在Android開發中,添加代碼來調試服務。
介紹
在調試模式下啟動壹個Android項目時,在服務中設置壹個斷點,調試器不會停止。
解決辦法
在所有這些情況下,它都在代碼中聲明。調用的方法是:
Android . OS . debug . waitfordebugger();
例如,軟鍵盤:
公共類SoftKeyboard擴展InputMethodService實現KeyboardView。OnKeyboardActionListener { @ Override public void onConfigurationChanged(Co configuration new config){ log . d(" soft keyboard "," onConfigurationChanged()");/*現在讓我們等到調試器附加*/Android . OS . debug . waitfordebugger();super . onconfigurationchanged(new config);/*做壹些有用的事情...*/ }
正如您在代碼中看到的,第壹件事是調用記錄器。當代碼在這裏運行時,壹條記錄將被添加到logcat中,這是壹種跟蹤代碼運行的方法,如果它不需要在斷點處停止,可以使用它。但是通常對於更詳細的調試,這是不夠的。
第二條語句等待添加調試器。添加此語句後,您可以在此方法中的任何位置添加斷點。
當活動也是應用程序的壹部分時,調試服務會更容易。在這種情況下,您需要首先啟動活動,調試器也可以在服務的斷點處停止,而無需調用waitForDebugger()。