我試圖衝動我的藍牙加密狗,看它是否是範圍。 我的Android每秒鐘都會向加密狗發送一個字符,然後用一個字符進行響應。如果沒有響應,或者字符錯誤,那麼它應該斷定沒有連接。安卓到外部藍牙輪詢
我可以從Android發送到加密狗(連接到MCU),並且加密狗能夠響應。 所有我需要的是一個簡單的方法來讀取每個字符(當收到)來比較它。我試圖在一個單獨的線程中使它在自己的循環中運行。
這是我的代碼,但我想我可能會關閉,所以如果你能給我一個指針!
void readFromInputStream()
{
Thread readFromInputStream = new Thread()
{
public void run()
{
String streng = "";
try
{
//just 100 times for now
for(int i = 0; i < 100; i++)
{
BufferedReader in = new BufferedReader(new InputStreamReader(inStream));
if(in.read() == 'z')
{
//set variable or something
}
else
{
//do something else
}
writeTerminal('z');
sleep(1000);
}
}
catch(Exception e)
{
Log.e("Threading", e.toString());
}
finally
{
finish();
}
}
};
readFromInputStream.start();
}
}
但它似乎每次我嘗試和評估它凍結的東西!
對不起,我無法提供Q手頭,但您可能希望在Android上使用輪詢時有點小心 - 您會殺死電池,特別是每1秒輪詢一次。 – Basic 2010-11-09 09:25:11
其實我寧願避開輪詢部分,但我希望斷開藍牙適配器(不是android藍牙)在嘗試寫入時會拋出異常,但它似乎不起作用,所以我想出來了用投票解決方案......感嘆! – Chizpa 2010-11-09 15:57:40
嘗試執行設備發現/查詢或遠程名稱請求,以檢查設備是否在範圍內... – 2010-11-09 19:48:30