运行 Android 4.04 的 socket.connect() Galaxy Tab 2 上出现 NullPointer 异常

2023-11-29

我似乎在 socket.connect() 上遇到了这个奇怪的错误:

09-18 14:41:22.968: W/System.err(2593): java.lang.NullPointerException
09-18 14:41:22.968: W/System.err(2593):     at android.sec.enterprise.BluetoothUtils.**isSocketAllowedBySecurityPolicy**(BluetoothUtils.java:106)
09-18 14:41:22.968: W/System.err(2593):     at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:220)
09-18 14:41:22.968: W/System.err(2593):     at com._._.android._._.bluetoothmodule.BluetoothController.connectToDevice(BluetoothController.java:136)
09-18 14:41:22.976: W/System.err(2593):     at com._._.android._._.controllermodule.ControllerModule.connectToDevice(ControllerModule.java:235)
09-18 14:41:22.976: W/System.err(2593):     at com._._.android._._.controllermodule.ControllerModule.connectToDevice(ControllerModule.java:263)
09-18 14:41:22.976: W/System.err(2593):     at com._._.android._._.service.ConnectionService.onHandleIntent(ConnectionService.java:70)
09-18 14:41:22.976: W/System.err(2593):     at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
09-18 14:41:22.976: W/System.err(2593):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-18 14:41:22.976: W/System.err(2593):     at android.os.Looper.loop(Looper.java:137)
09-18 14:41:22.976: W/System.err(2593):     at android.os.HandlerThread.run(HandlerThread.java:60)

是的,我在连接之前检查套接字是否为空。我似乎只在Galaxy Tab 2 运行 4.0.4。我的代码在其他设备/android 版本上运行良好[包括 JB]。不确定这里会发生什么。下面列出了一小部分,演示了我如何初始化套接字:

Method m = bluetoothDevice.getClass().getMethod(
            "createInsecureRfcommSocket", new Class[] { int.class });
Logging.getInstance().logMessage(this.getClass().getSimpleName(), "Returned the Reflection method successfully..",Logging.LOG_ERROR);
      // get readSocket
    mreadSocket = (BluetoothSocket) m.invoke(bluetoothDevice, 1);
      assert (mreadSocket != null) : "readSocket is Null";
 if (mreadSocket != null) {

        mreadSocket.connect();
}

任何帮助将不胜感激!


警告:以下代码可能不安全,使用风险自负

就我而言,我能够使用连接createInsecureRfcommSocketToServiceRecord而不是createRfcommSocketToServiceRecord但我看到你已经这么做了。我的代码看起来更像这样(删除了错误/异常检查):

BluetoothDevice device;
String deviceName = ... selected or hardcoded device name. See Android HDR sample code
BluetoothDevice[] mAllBondedDevices = (BluetoothDevice[]) mBluetoothAdapter.getBondedDevices().toArray(new BluetoothDevice[0]);

for (BluetoothDevice d : mAllBondedDevices) {
  if (deviceName.equals(d.getName())) {
    device = d;
    break;
  }
}

UUID uuid = device.getUuids()[0].getUuid();
//FAILED: socket = device.createRfcommSocketToServiceRecord(uuid);
// Succeeds: Warning, INSECURE!
socket = device.createInsecureRfcommSocketToServiceRecord(uuid);
socket.connect();
this.dos = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
this.dis = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
//etc 

请注意,虽然不安全的连接并不完美,但在我们的例子中,不安全的连接比没有连接更好。我发布了这个答案,以便您可以尝试替代代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运行 Android 4.04 的 socket.connect() Galaxy Tab 2 上出现 NullPointer 异常 的相关文章

  • Android中将JSON数据存储到本地数据库

    好的 我创建了一个应用程序 它使用 JSON 从我的服务器检索数据 现在我想将检索到的数据存储在手机的本地存储 数据库中 我该怎么做 我是android编程新手 这是我从服务器收到的 JSON messages id 44 issender
  • 我无法再在后台应用程序中接收任何 FCM 消息

    当应用程序处于后台时 我无法再在应用程序中接收任何数据消息 请注意 直到最近它在我的应用程序中都运行良好 也许在我的开发环境最近更新后它停止工作了 我不能说 所以我尝试用快速入门 android 项目 https github com fi
  • 如何在 Android 应用程序中隐藏 Flutterwave API 密钥

    我正在构建一个 Android 应用程序 目前正在将 Flutterwave 集成到我的应用程序中以进行支付 建议我永远不要将 Flutterwave API 密钥放在我的应用程序上 那么我该如何隐藏这些键呢 我正在使用 Retrofit
  • Android 中使用黑白 alpha 蒙版的高效位图蒙版

    我想用黑白 alpha 蒙版来掩盖位图 我的蒙版图像是黑白的 黑色区域意味着透明 白色区域意味着不透明 我需要的是 当我使用此蒙版图像来蒙版任何其他图像时 如果蒙版图像的相应区域为黑色 则生成的图像区域应为透明 否则 生成的图像区域应该是不
  • 如何在不使用 Firebase 控制台的情况下发送 Firebase 云消息通知?

    我从新的 Google 通知服务开始 Firebase Cloud Messaging 感谢这段代码https github com firebase quickstart android tree master messaging htt
  • 4 天后,应用仍未在 Google Play 搜索中编入索引

    我已经在 4 天前在 google play 上发布了我的第一个应用程序 语音到短信 但我仍然无法通过其名称或开发人员名称在搜索中找到我的应用程序 我只能通过包名称或真实应用程序名称 但不带空格 找到我的应用程序 VoiceToSMS 链接
  • Play 商店中的应用描述更新

    我想更新应用程序的描述以及 Play 商店上的屏幕截图 但应用程序保持相同 即相同的版本号 我不想发布新应用程序 因为应用程序中没有任何更改 这可能吗 谷歌也会要求更新应用程序吗 您可以更新描述 也可以更改屏幕截图 您的应用程序将保持不变
  • 使用 DataBinding 测试片段时膨胀类 Fragment 时出错

    有人可以帮我解决这个问题吗 在我的测试中 我想检查登录按钮是否显示在起始页上 今天我已经为这个错误苦苦挣扎了一段时间 我不知道应该如何解决它 我在这里错过了什么 也许这个问题与这个问题有些相似 Espresso 测试失败 并显示 java
  • 如何绘制部分位图圆弧?类似于圆形进度轮,但具有显示得越来越多的位图。

    我正在寻找的是一种以顺时针圆形方式显示图像的视图 当进度为 25 时 应显示前 90 度 当进度为 100 时 应绘制完整的 360 度 它与使用 canvas drawArc 非常接近 但此方法仅适用于 Paint 对象 不适用于位图 其
  • Toast 消息消失后​​完成活动吗?

    有谁知道 是否有可能对 Toast 消息执行某些操作 在我的情况下完成活动 将被关闭 您只需创建一个Thread持续时间只要Toast显示 然后您就可以完成您的Activity public void onCreate Bundle sav
  • Jetpack Compose:制作全屏(绝对定位)组件

    我怎样才能在全屏渲染树的深处制作一个可组合的 类似于Dialog可组合作品 例如 当用户单击图像时 它会显示该图像的全屏预览 而无需更改当前路线 我可以用 CSS 来做到这一点position absolute or position fi
  • Android 认为我没有关闭数据库!为什么?

    我有一个 SQLiteDatabase 数据成员 我在 onCreate 中初始化它 并在 onPause onStop 和 onDestroy 中调用 close 它在 onResume 中重新初始化 它似乎运行得很好 但当我查看调试器时
  • 如何在Android模拟器中隐藏应用程序图标?

    我有一个应用程序在启动完成后自动启动 但应用程序图标显示在android模拟器中 现在我想向用户隐藏该图标 这样用户就无法知道应用程序已启动 并且他们无法启动该应用程序手动申请 在您的 AndroidManifest xml 文件中 您可能
  • 双屏 Android Studio 中不显示自动补全

    我刚刚从 Eclipse 切换到 Android Studio IntelliJ 我不明白自动补全是如何工作的 我尝试了 Control Space Control Shift Space 但没有相关建议 不在 Java 文件中 也不在布局
  • 使用 Proguard 通过 Dropbox.com 库混淆 Android 应用程序

    我刚刚创建了一个需要 Dropbox com API 库的 Android 应用程序 我现在尝试在 发布 模式下构建应用程序 并希望在代码上运行混淆器以对其进行混淆 但是 每当我尝试运行 Proguard 时 都会收到以下错误 Progua
  • 使 Recyclerview 固定高度并可滚动

    已解决以下检查答案 所以我试图为我的 Android 应用程序创建评论功能 我想在 recyclerview 中显示评论 然后在 recyclerview 下方有一个按钮和文本视图来添加评论 我想让 recyclerview 具有一定的高度
  • 如何知道我的应用程序的活动计数?

    我的应用程序中有多项活动 请考虑以下案例 Activity A 调用 Activity B B 调用 C 当用户按后退键时 C 生成通知并转到 B 现在再次按后退 因此将显示 A 再次按后退键也会终止 A 并显示通知 现在 当用户按下通知图
  • 调试android数据绑定?

    谁能告诉我如何调试或找到数据绑定生成的代码 从this https www youtube com watch v NBbeQMOcnZ0链接我发现它生成了所需的代码 我猜您正在寻找自动生成的绑定 java 文件 我也在寻找他们 最后我在这
  • Android 从通知刷新 Activity

    我有一个程序 我在其中调用通知 如果您将其下拉 该通知将启动一个新活动 mNotificationManager NotificationManager getSystemService ns int icon R drawable sta
  • 我想测量 ListView 的高度 (getHight() = 0)

    我无法自己决定任务将是问 我想测量 ListView 的高度 无法捕捉渲染 ListView 的时刻 rssListView getHight 0 public class RSSactivity extends Activity publ

随机推荐

  • 使用“子”函数中的局部变量

    考虑以下代码 function child echo var function parent local var 5 child 我已经在我的机器上测试了它 它似乎可以工作 但我无法找到任何明确描述局部变量的这种用法的信息 也就是说 当我在
  • 如何在 Swift 2 中调用 SOAP Web 服务?

    我想调用 Swift 2 的网络服务 但它从来没有工作过 这是我的代码 import UIKit class ViewController UIViewController UITextFieldDelegate NSURLConnecti
  • 如何知道我的电脑是否连接了耳机? HTML5 + JavaScript

    如何知道我的电脑是否连接了耳机 我的目标是使用 HTML5 JavaScript 来实现它 下一页显示了所有音频输出设备 但无法知道活动设备是否是耳机 而在 Firefox 中它不起作用 https webrtc github io sam
  • 使用 NAudio 转换为 WAV 后使用 SoundPlayer 播放 MP3

    我想使用NET提供的播放从网上下载的MP3文件系统 媒体 SoundPlayer机制 由于它适用于 WAV 格式 因此需要以下支持 NAudio库 我需要将 MP3 转换为 WAV 我想在内存中执行所有操作 因为我需要它快速 但我有问题 下
  • 从 vb.net 中的数据网格视图中查找文本

    我在一个名为 GridViewForm 的窗口窗体中有一个数据网格视图 当用户从另一个名为 FindForm 的窗口窗体的搜索框中搜索文本时 我想在数据网格视图中突出显示所有匹配结果 搜索类型可以是精确的或部分的 For eg 如果用户搜索
  • python 中的 hash_hmac sha512 身份验证

    我正在尝试编写 python 身份验证机器人 https comkort com page private api 没有完整的 php 示例 我猜有人可以把它放在这里 只有 php 代码片段 query string http build
  • 张量流有问题吗?

    你好我一直在使用tensorflow and keras一阵子 我使用这个包来构建神经网络 当我在 CPU 上工作时 我常常收到这样的消息 您的 CPU 支持此 TensorFlow 二进制文件未编译为使用的指令 AVX AVX2 但现在
  • HttpWebRequest 未传递凭据

    我正在尝试使用HTTPWebRequest访问 REST 服务 但在传递凭据时遇到问题 请参阅下面的代码 我读过NetworkCredential不支持 SSL 并且我正在访问 HTTPS 站点 有谁知道类似的类NetworkCredent
  • DatePicker 显示错误的月份值

    我有一个问题DatePicker在android中 当我使用getMonth 方法 那么它将返回错误的值 例如 DatePicker datepicker new DatePicker int day date getDayOfMonth
  • GPU内存更新原子性

    我有一个主要的全局记忆 gpu mem 以及一个变量 gpu mem offset 来跟踪线程将更新其内容的全局内存的当前偏移量 下面的脚本能否保证内存内容和偏移值的原子性 global void kernel int gpu mem in
  • C语言中两个字符串之间的冒号是什么?

    我正在尝试编辑 IDT 中断描述符表 我发现这段代码这应该让我可以访问该结构 但我不明白冒号是什么asm莱恩群岛我猜这是一些用 C 语言编写的位图游戏 这在某种程度上填充了指令 但我找不到任何明确的东西 如果有帮助 编译器现在会说 inva
  • Python:将文本加载为Python对象[重复]

    这个问题在这里已经有答案了 我有这样的文本要加载 https sites google com site iminside1 paste我更喜欢从中创建一个 python 字典 但任何对象都可以 我试过pickle json and eva
  • 如何在 Windows 上为 ruby​​ 安装“byebug”?

    我是 ruby 新手 正在尝试设置我的开发环境 Windows 10 我已经安装了ruby和rails 但无法安装byebug 据我了解 我首先需要 DevKit 所以我按照这里的指南安装了它 https github com onecli
  • 当派生类方法不可行时,为什么 C++ 重载决策不查看基类方法? [复制]

    这个问题在这里已经有答案了 编译失败的例子 class A public int f int a return a class B public A public int f int a int b return a b int calcu
  • Tkinter IntVar 返回 PY_VAR0 而不是值

    我有一个复选按钮和一个IntVar与之关联的对象 但是当我尝试获取该值时var 我正在接收PY VAR0 这是我的代码 from tkinter import root Tk def show state print var var Int
  • 具有多个依赖项的 jQuery ajax 调用链

    我不太懂魔法deferred使用 jQuery 的对象 假设以下代码 function callWebService uri filter callback var data if filter filter data filter fil
  • jQuery animate() 更改文本

    我现在刚刚迈出了关于 jQuery animate 的第一步 我试图制作一个演示类型的东西只是为了练习 但我似乎无法使用 animate 函数更改动画中间的 div 文本 这是我当前的代码
  • pandas 中 max 的列标签

    我正在尝试从 pandas 数据框中提取行和贡献列标签中的最大值 例如 A B C D index x 0 1 2 3 y 3 2 1 0 我期望以下输出 A B C D Maxv Con index x 0 1 2 3 3 D y 3 2
  • 在 Firestore for Swift 中按时间戳传递和过滤项目

    我正在尝试在 Firestore 中传递今天的日期Timestamp在我的应用程序中 我得到这样的今天的日期 formatter dateFormat MMMM d yyyy let result formatter string from
  • 运行 Android 4.04 的 socket.connect() Galaxy Tab 2 上出现 NullPointer 异常

    我似乎在 socket connect 上遇到了这个奇怪的错误 09 18 14 41 22 968 W System err 2593 java lang NullPointerException 09 18 14 41 22 968 W