使用flutter控制蓝牙通讯,在Flutter中设置蓝牙设备名称

It is possible to change the Bluetooth device name using BluetoothAdapter.getDefaultAdapter().setName() in Android, but I am unable to find how we can do it in Flutter. I've tried using the flutter_blue package; however, I don't see how we can achieve it.

Thanks in advance!

解决方案// BT Rename

//

final String sNewName = "Syntactics";

final BluetoothAdapter myBTAdapter = BluetoothAdapter.getDefaultAdapter();

final long lTimeToGiveUp_ms = System.currentTimeMillis() + 10000;

if (myBTAdapter != null)

{

String sOldName = myBTAdapter.getName();

if (sOldName.equalsIgnoreCase(sNewName) == false)

{

final Handler myTimerHandler = new Handler();

myBTAdapter.enable();

myTimerHandler.postDelayed(

new Runnable()

{

@Override

public void run()

{

if (myBTAdapter.isEnabled())

{

myBTAdapter.setName(sNewName);

if (sNewName.equalsIgnoreCase(myBTAdapter.getName()))

{

Log.i(TAG_MODULE, "Updated BT Name to " + myBTAdapter.getName());

myBTAdapter.disable();

}

}

if ((sNewName.equalsIgnoreCase(myBTAdapter.getName()) == false) && (System.currentTimeMillis() < lTimeToGiveUp_ms))

{

myTimerHandler.postDelayed(this, 500);

if (myBTAdapter.isEnabled())

Log.i(TAG_MODULE, "Update BT Name: waiting on BT Enable");

else

Log.i(TAG_MODULE, "Update BT Name: waiting for Name (" + sNewName + ") to set in");

}

}

} , 500);

}

}

你可能感兴趣的:(使用flutter控制蓝牙通讯)