小编Cod*_*ien的帖子

createRfcommSocketToServiceRecord和createRfcommSocket之间的区别

在连接蓝牙设备下面这两种方式有什么区别:

1)

UUID uuid = UUID.fromString(Values.SPP_UUID); //Standard SerialPortService ID
mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid); 
Run Code Online (Sandbox Code Playgroud)

2)

Method m = mmDevice.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
mmSocket = (BluetoothSocket) m.invoke(mmDevice, 1);
Run Code Online (Sandbox Code Playgroud)

我发现第一种方法不能一直工作,有时它会起作用,但是在关闭蓝牙设备后,它将无法再次工作.第二种方式总是运作良好.我知道它只是打开一个与蓝牙通信的频道,但我不知道如何在不使用uuid的情况下连接到蓝牙设备呢?

android bluetooth

37
推荐指数
1
解决办法
1万
查看次数

为什么我们可以调用在onActivityCreated之前运行的onCreateView中的getActivity()?

我真的对Fragment 生命周期感到困惑,尤其是在打电话的时候getActivity().有时候,你不能得到Activity通过getActivity().它总是引起一些令人费解的错误.
谢谢任何人都可以解决这个难题.

lifecycle android fragment

18
推荐指数
1
解决办法
8399
查看次数

为什么 Android Studio 外部库显示多个版本依赖关系?

在此输入图像描述

即使我明确添加了一个实现

implementation 'androidx.activity:activity:1.5.1'
Run Code Online (Sandbox Code Playgroud)

并运行./gradlew :app:dependencies检查树,发现所有版本都被新版本替换。Android Studio 仍然显示存在其中三个。

androidx.activity:activity:1.2.4 -> 1.5.1 (*)
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio

6
推荐指数
1
解决办法
444
查看次数