Я получаю ошибки ... Не могу создать обработчик внутри потока, который не вызвал Looper.prepare ()
На самом деле мой случай таков:
Я пытаюсь использовать пример кода «BluetoothChat», который я взял у разработчика Android. Моя миссия состоит в том, чтобы приложение работало и отправляло сообщения автоматически после подключения удаленного устройства ... Я думаю, вы все знаете, что я пытаюсь сказать ...
У меня есть строковые сообщения, которые я хочу, чтобы приложение отправляло каждую секунду для удаленного устройства:
String helloString[] = {"hello person"," hi there", "hola hola", "yau yau..."};
Здесь я попытался изменить некоторую часть кода, где, я думаю, приложение выполнит то, что я хочу, с ошибкой ...: (
private void setupChat()
{
Log.d(TAG, "setupChat()");
Thread output = new Thread()
{
public void run()
{
while (true)
{
for(int i = 0; i < 4; i++)
{
//Sending helloStrings for the device
message = helloString[i];
sendMessage(message);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
}
};
output.start();
// Initialize the BluetoothChatService to perform bluetooth connections
mChatService = new BluetoothChatService(this, mHandler);
}
/**
* Sends a message.
* @param message A string of text to send.
*/
private void sendMessage(String message)
{
// TODO Auto-generated method stub
// Check that we're actually connected before trying anything
if (mChatService.getState() != BluetoothChatService.STATE_CONNECTED)
{
Toast.makeText(this, R.string.not_connected, Toast.LENGTH_SHORT).show();
return;
}
byte[] send = message.getBytes();
mChatService.write(send);
}