Android için bir uygulama geliştiriyorum. Bu uygulama bir Bluetooth (BT) cihazı ile iletişim kurmalı (bazı baytlar göndererek). Cihazımda bu uygulamayı hata ayıklama/çalıştırmayla ilgili bir sorunum var (Samsung Galaxy mini). Bir BT soketi oluşturduğumda ve hata ayıklamayı durdurduğunda, telefonu donduğumda ve pili çıkartarak yeniden başlatmam gerekiyor. Bu uygulamayı çalıştırırken (Eclipse'den) her şey yolundadır, ancak tekrar çalıştırmayı denediğimde, telefon dondurması ve uygulaması yüklü değildir. İkinci uygulamayı çalıştırmadan önce bu uygulamayı manuel olarak kaldırmaya çalışırsam, telefonu tekrar dondurun. İşte sorunlu bir kod:Bluetooth soketi donma telefonu
private final BluetoothDevice mmDevice;
private UUID uuid;
public ConnectionThread(BluetoothDevice device) {
Log.d(TAG, "create ConnectionThread");
uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
BluetoothSocket tmp = null;
mmDevice = device;
try {
tmp = mmDevice.createRfcommSocketToServiceRecord(uuid);
} catch (IOException e) { }
mmSocket = tmp;
socketConnected = true;
}
Bu, bir iş parçacığı oluşturucusudur. Çizgiyi
tmp = mmDevice.createRfcommSocketToServiceRecord(uuid);
telefon açıklama yaparken gelmiyor.Fark sorunu (bağlanmıyor) soket oluşturma ile yani dondurun. Her hata ayıklamasından veya çalıştırılmasından sonra telefonu yeniden başlatmak oldukça can sıkıcı ve henüz çok iş yapmam gerekiyor.
Bu uygulamayı bir telefondan (Eclipse ile bağlantısı kesilmiş) çalıştırırsam, sorunsuz çalışır. Herhangi bir fikir nerede sorun olabilir veya nasıl düzeltilebilir? Teşekkür ederim.
yazılımındaki bir hatadan benziyor çalışacak, öyle değil mi? –
@CodePainters: ürün yazılımı veya IDE hatası. Aynı konuyu buldum: http://stackoverflow.com/questions/4408287/android-bluetooth-socket-freeze-application. Yani, BT'yi onGeroy geri aramada kapatırsam, her şey yolunda. – DanielH
IDE? Olası olmayan. Android zaten hatalarla dolu ... –