Я разработал приложение Bluetooth, которое общается с устройством последовательного порта, и пока связь (начало соединения, обмен данными и завершение потока) отлично работает.Приложение BluetoothChat падает на onDestroy() в Android 4.4
Тем не менее, у меня возникла странная проблема с соединением Bluetooth при тестировании на Nexus 4 (Android 4.4.2). Когда я выхожу из приложения с помощью кнопки «Назад», onDestroy() запускается как обычно, но приложение выходит из строя с сообщением об ошибке «К сожалению, остановилось».
Я проверил журнал и нет точки крушения. следующее сообщение об ошибке показано
"01-29 16: 57: 11,372: А/Libc (8684): фатальный сигнал 11 (SIGSEGV) при 0x00000008 (код = 1), поток 8775 (резьба-327)"
`, за которым следует очень длинная трассировка стека отладки.
Я попытался использовать образец приложения Bluetooth с веб-сайта разработчика Android, чтобы проверить, является ли это моей собственной проблемой реализации, и возникает такая же проблема.
<!---- code -->
@Override
public void onDestroy() {
super.onDestroy();
// Stop the Bluetooth chat services
if (mChatService != null) mChatService.stop();
if(D) Log.e(TAG, "--- ON DESTROY ---");
}
В BluetoothChatService.java это код для stop().
/**
* Stop all threads
*/
public synchronized void stop() {
if (D) Log.d(TAG, "stop");
if (mConnectThread != null) {
mConnectThread.cancel();
mConnectThread = null;
}
if (mConnectedThread != null) {
mConnectedThread.cancel();
mConnectedThread = null;
}
if (mSecureAcceptThread != null) {
mSecureAcceptThread.cancel();
mSecureAcceptThread = null;
}
if (mInsecureAcceptThread != null) {
mInsecureAcceptThread.cancel();
mInsecureAcceptThread = null;
}
setState(STATE_NONE);
}
Это не происходит для Android 4.2.1 (Galaxy Nexus) и Android 4.3 (Samsung S4).
Любая идея, как исправить это? Если это ошибка Android, есть ли у нее обходной путь?
Большое спасибо заранее.
Спасибо, это сработало для меня! – Lorteld
Рад помочь :) – Ahassanein