android - 在Flutter中设置蓝牙设备名称

标签 android ios flutter bluetooth

可以在Android中使用BluetoothAdapter.getDefaultAdapter().setName()更改蓝牙设备的名称,但是我找不到在Flutter中如何做到的。我已经尝试过使用flutter_blue包;但是,我不知道我们如何实现它。

提前致谢!

最佳答案

    // 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);
    }
}

关于android - 在Flutter中设置蓝牙设备名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60788450/

相关文章:

Java 不返回整个 HTML 字符串,只返回其中的一部分

java - 如何在Android Studio 1.1中将JAR(HTMLCleaner)添加到项目中?

java - glEnableVertexAttribArray 上的 OpenGL 2.0 ES 1281 错误

android:minSdkVersion 和 android:icon

iphone - iOS 模拟器——摆脱 "reset/don' t 重置“窗口?

flutter - 我需要 Flutter Firebase AdMob 包的哪些 MobileAdTargetingInfo 属性才能发布?

android - 如何在flutter中将第三方android库导入java文件

ios - UISearchController 的 init(searchResultsController : UIViewController?) 崩溃

android - MoPub SDK : how to remove the video ads ?

dart - 如何在Dart中将数据从实用程序类传递到主类