- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在我的 android 应用程序中,有以下代码:
BluetoothManager bm = (BluetoothManager)activity.getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter ba = bm.getAdapter();
我想使用 Robolectric 进行单元测试。我正在使用 Robolectric 2.2。但是我发现bm是null,不知道怎么mock它。
最佳答案
测试蓝牙和其他系统服务的挑战在于这些类都是最终类。
因此,如果你想注入(inject)任何其他东西,你需要围绕最终类创建一个包装器,然后提供一个实现转发到实际的蓝牙类和一个模拟你的东西的替代类。但是随后需要更新所有编码以使用该包装器而不是直接使用最终类。
PowerMock然而应该能够处理这些final classes .摘要(点击链接了解更多详情)
关于android - 在android 4.3中使用Robolectric测试BluetoothAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23861568/
我的目标是找到附近的蓝牙设备(LE 设备和“经典”),以便将当前可见的附近设备与我的应用使用它执行的某些功能相关联。 (不是一个或多个特定设备,而是所有设备!!!) 我所知道的: startLeSca
有时我在尝试使用我的 BluetoothAdapter 时遇到死对象异常。如何在使用前检查它是否已经死亡?或者我应该每次都在 onResume 中重新创建 BluetoothAdapter 吗? 我想
我刚开始看 xamarin,现在我想扫描蓝牙设备。因此,我使用以下代码: BluetoothAdapter bluetoothAdapter = BluetoothAdapter.DefaultAda
所以我在获取本地蓝牙地址时遇到了问题。我在 2 部手机上尝试过,一部运行 Stock Marshmallow,另一部运行 CM12 Lollipop。我使用来自 Google 的 BluetoothC
我正在尝试使用以下我必须测试的代码来解决问题:我正在使用 Mockito 和 Robotium 来解决大多数测试用例。问题是通过以下方式启动的请求对话框来模拟用户的回答: Intent enableB
我开始开发一个通过蓝牙与 arduino 设备通信的应用程序。 我正在用 初始化 bt 适配器 BluetoothAdapter btAdapter = BluetoothAdapter.getDef
如何修复此代码中的弃用警告?或者,还有其他选择吗? val mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 4 年前。 你好,我的代码有问题。我想检查该
可能这个问题看起来很奇怪,但实际上并不完全是:) 我构建了一个可以在不同的 Android 平板电脑上运行的应用程序。 我还有一个关于为每台平板电脑查找和唯一标识符的小问题,但我选择查找 wifi 和
Bluetooth LE 在 Android 4.3 中引入,因此我正在使用两个 Android 设备,并且我的两个设备都支持 API 版本 4.4。 2 甚至,我已经配对了两个设备,但仍然没有在列表
根据开发者指南,可以请求启用蓝牙: http://developer.android.com/guide/topics/connectivity/bluetooth.html#SettingUp if
在我的应用程序中,我有开始和停止按钮,当用户按下开始时我调用 startScan 方法 bluetoothAdapter.getBluetoothLeScanner().startScan(getLe
这是我的第一篇文章,所以如果我做了一些愚蠢的事情,请告诉我。这个问题可能看起来与其他帖子相似,但或多或少与我所看到的一切相反。 关于项目的事情: 我正在开发 android 4.0 - 4.4 应
我目前正在尝试编写一个 Android 应用程序,它使用蓝牙连接到设备并打开串行连接。要连接到设备,我需要将设备传递给一些建立和维护连接的代码。我的问题是我似乎没有达到这一点,因为我的代码总是返回一个
我正在尝试通过蓝牙进行设备间通信,但遇到了问题。我使用以下代码获取 BluetoothManager 和 BluetoothAdapter: manager = (BluetoothManager)c
我正在使用 BluetoothAdapter 并尝试连接 BLE 设备。当我尝试检测 BLE 设备时,它会抛出以下错误。 2018-12-17 18:19:03.374 15642-15663/? E
在我的应用程序的 onCreate() 中,我调用了 BluetoothAdapter.getAddress()。运行此应用程序的数百台设备中的一台会产生 java.lang.SecurityExce
我将蓝牙添加到我的应用程序,但遇到了以下问题。当我执行代码时: BluetoothAdapter bluetoothAdapter=BluetoothAdapter.getDefaultAdapter
我正在使用 google 的示例项目 ( BluetoothLeGatt ) 从 BLE 设备接收数据,并尝试读取通过 onLeScan 方法获得的 scanRecord 中的特定字节。 我的问题是我
我想用 startLeScan(UUID[] serviceUuids, LeScanCallback callback) 方法扫描 BLE 设备,现在我有一个 UUID,它是一个 16 位的值,例如
我是一名优秀的程序员,十分优秀!