- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 Android 世界的新手。如果我的问题太天真,请原谅我。
我一直在开发一个示例应用程序来实现 Linux Box(运行 Bluez-5.42 的 FC-21)和 Android 平板电脑之间的蓝牙配对。我正在使用 NFC 将蓝牙名称、地址和 OOB 数据从 PC 传输到 Android。我能够通过 NFC(准确地说是光束)将上述数据从 PC 发送到 Android,并且能够在 Android 端解析和解码所有数据。有了 Android 上可用的 Linux box 的蓝牙地址,我可以调用 CreateBond() 将 Android 平板电脑与 Linux Box 配对。我已经测试了这部分,它按预期工作。
现在,这种方法的问题在于,在蓝牙配对过程中使用了数字比较或密码输入关联模型,我认为这是用户使用 NFC 进行配对时的体验偏差。由于我已经有了 PC 的 OOB 数据,我想使用 OOB 关联进行配对,这样用户体验就不会受到影响。
为此,当我将 CreateBond() 替换为 CreateBondOutOfBand() [使用反射] 时,没有配对请求从 Android 发送到 Linux PC。
try {
showLog("Pairing started");
Method m = bDev.getClass().getMethod("createBondOutOfBand", byte[].class, byte[].class);
showLog("Found method");
Boolean flag = (Boolean) m.invoke(bDev, Hash, Rand,(Object[]) null);
//Method m = bDev.getClass().getMethod("createBond", (Class[]) null);
//Boolean flag = (Boolean) m.invoke(bDev, (Object[]) null);
if(flag)
showLog("Pairing successfully finished.");
else
showLog("Pairing failed");
} catch (Exception e) {
showLog("Pairing failed.");
}
我在网上搜索过,但没有找到任何具体证据表明 OOB 配对可以在 Android 中实现。
此外,为了检查原生 Android 的行为,我使用 Linux 盒子的蓝牙名称、地址和 OOB 数据创建了一个 NFC 标签。当我拿着标签对着安卓平板电脑时,蓝牙配对开始了,但它仍然没有使用 OOB 关联模型。
我的问题如下,
如有任何意见,我们将不胜感激。
谢谢,
赛
最佳答案
根据 this ,
Android 9 introduces new restrictions on the use of non-SDK interfaces, whether directly, via reflection, or via JNI. These restrictions are applied whenever an app references a non-SDK interface or attempts to obtain its handle using reflection or JNI.
由于 createBondOutOfBand() 和 removeBond() 对公众隐藏 documentation ,这些方法从Android 9开始被限制。使用反射调用这些方法会导致异常。
关于android - Android 真的支持蓝牙 OOB 配对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41603450/
我有一个在大多数机器 OOB 上运行良好的商业应用程序。 我只有 1 个用户在启动 OOB 版本时出现以下错误(请注意,在他的浏览器中它运行良好)。 对不起俄语,但他的机器是俄语。 通常它说有错误并且
我想停用我的应用程序中的右键单击,该右键单击提供了在桌面上安装应用程序的选项。我该如何做这样的事情? 最佳答案 右键单击 Visual Studio 中的项目并选择属性。那里有一个复选框“启用浏览器运
在我的 Silverlight 5 OOB 主要方法中,我设置了自定义 Application.Current.MainWindow.Left 和 Application.Current.MainWi
删除 OOB 应用程序后,Isolated Storage 创建的文件会发生什么变化?它们是保留还是文件也被删除了?从我可以推断出的文件将被维护,以便浏览器中的同一个应用程序可以访问它们。对? 最佳答
我正在使用 OOB 功能将文件上传到共享点。我正在使用 包装所有数据的标签和功能。 (描述为here) 这是我的 elements.xml 文件中的模块示例: 唯一的问题是,当我停
我正在尝试使用 sllauncher.exe 安装全新的 Silverlight 5 应用程序。当我使用旧的 SL4 应用程序执行此操作时,它工作正常,但是,这个新的 SL5 应用程序有些不同,导致
我有一个使用 Silverlight 4 构建的 Silverlight 应用程序,它在浏览器外模式下工作。当我启动应用程序时,会出现一段时间的白屏。我做了一些谷歌搜索,这让我找到了 Mike Wol
我想在删除 OOB 应用程序时删除存储在独立存储中的文件。我怎样才能删除这些文件? 谢谢 最佳答案 好问题! This文章描述了如何在应用程序卸载时自动执行此过程: The previous code
我目前正在使用随机森林分类模型。我正在使用 randomForest 包。由于我总共处理 11 个不同的类,因此使用 plot() 函数会生成 12 个错误率图 - 类错误率和 OOB 错误率。有没有
假设您正在尝试以棋盘模式访问数组: 0 1 2 3 4 5 6 70 o • o • o • o •1 • o • o • o • o2 o • o • o • o •3 • o • o • o
我的 QuickSort 实现因索引越界错误而失败,我无法弄清楚原因。 unsigned long PerformQuickSort(std::vector& values) { unsign
我有一个 C 程序,可以将一些数据发送到远程机器上的 python 服务器。 C 代码连接套接字,然后发送带外消息和一些数据: int on = 1; fd = socket(PF_INET, SOC
当我启动我的 Silverlight 浏览器外应用程序时,窗口大小与我的布局不匹配。我已经看到了使用 Deployment.ApplicationIdentity 的 XML 文件提供不同大小图标的方
我有一个 Silverlight 应用程序,我使用 Prism 使用 MEF 动态加载模块。 当我从浏览器中取出这个应用程序时,我遇到了一些奇怪的行为! 如果在我加载我的 SL 应用程序时 fiddl
我正在寻找 Silverlight 来构建一个“跨平台”桌面应用程序(无论如何是 Windows 和 Mac),但是有一个我找不到解决方法的问题。在 Mac OS 上,在 Adobe AIR 中,
我想为 Windows 和 MacOS 的 oob 应用程序创建自定义安装程序。 对于 Windows,我使用了以下方法 - https://www.codeproject.com/Articles/
现在我有一个带有 SQL Server 后端的 Winform 应用程序。 DAL 由 Linq to SQL 组成。此应用程序的复杂性之一是它需要离线运行。 我通过使用合并复制使本地 SQL Exp
我在控制台中用 C++ 编写了一个贪吃蛇游戏,但遇到了一些我无法理解的问题。谁能帮帮我?根据以下代码: class Snake : public Fruit{ private:
我有一个如下所示的数据框 df1_new = pd.DataFrame({'person_id': [1, 1, 3, 3, 5, 5],'obs_date': ['7/23/2377 12:00:
有什么方法可以添加一些代码以在卸载 OOB silverlight 应用程序时触发?我想在用户卸载应用程序时向我的网络服务触发一些东西,这可能吗? 最佳答案 我发现您可以处理 App.xaml 上的“
我是一名优秀的程序员,十分优秀!