0
我正在嘗試構建一個應用程序,該應用程序可以發現運行相同應用程序的所有設備。 我已經完成了所有的發現等,但我不知道如何篩選出正在運行我的應用程序,而不連接到他們。只是從發現的結果。 這可能嗎?以什麼方式?我正在研究UUID,但我不知道是否能夠用於此目的,以及如何使用這些UUID。 在此先感謝!Android藍牙服務發現
我正在嘗試構建一個應用程序,該應用程序可以發現運行相同應用程序的所有設備。 我已經完成了所有的發現等,但我不知道如何篩選出正在運行我的應用程序,而不連接到他們。只是從發現的結果。 這可能嗎?以什麼方式?我正在研究UUID,但我不知道是否能夠用於此目的,以及如何使用這些UUID。 在此先感謝!Android藍牙服務發現
我不知道如何過濾掉運行我的應用程序
的那些這取決於你想下運行是什麼味道的Android。
Android 4.4以上版本將由128位UUID
以下是代碼摘錄支持藍牙掃描過濾。
private static final String CT_UUID = "Your specific 128-bit UUID string";
.........
String myOSVersion = android.os.Build.VERSION.RELEASE; // e.g. myOSVersion := "4.2"
float myOSVersionNum = Float.valueOf(myOSVersion.substring(0,3)); // Example 4.3, 4.4, etc.
.........
if (myOSVersionNum < 4.4) {
// --- Android 4.3 (NO UUID Filtering) ---
mBluetoothAdapter.startLeScan(mLeScanCallback);
} else {
// --- Android 4.4 or Later (With UUID Filtering) ---
UUID[] uuids = new UUID[1];
uuids[0] = UUID.fromString(CT_UUID);
mBluetoothAdapter.startLeScan(uuids, mLeScanCallback);
}
但是對於早期的Android版本,這將不起作用。
這裏有很多關於Android 4.3以及更早版本的替代選項的帖子。
對於我自己的需要,Android 4.3涉及到,做後置採集設備名稱過濾是足夠的/足夠的。