Android:如何将蓝牙连接传递给另一个活动?

2023-12-10

我有我的第一个活动,其中建立了 BT 连接。有一个选项呈现给用户,并且根据他们的选择,将加载不同的活动。

问题是,这两项活动都需要 BT 连接,而且我不认为为了建立另一个连接而破坏一个连接有什么意义。

有没有办法可以传递活动之间的连接?

有人给我一些例子或者链接吗?

我试过了 ”class MyApplication extends Application”,但是我不能使用:

super.onCreate(savedInstanceState);
setContentView(R.layout.blablabla);

这可能是一个非常愚蠢的问题,但我只接触 Android +- 2 周。


您是否尝试过使用应用程序对象将蓝牙连接存储在对象中并使用活动来获取它?

尝试这样的事情。 (注意:我从未在Android上使用过蓝牙,所以我不知道要使用哪些相关类。在这种情况下,我将使用BluetoothDevice,因为根据库文档它似乎是正确的类)

public class MyApplication extends Application {
    BluetoothDevice device;
    ...
    public synchronized BluetoothDevice getBtConnection() {
        if (device == null) {
            // construct a BluetoothDevice object and put it into variable device
        }
        return device;
    }
}

这样,您的第一个活动只需执行以下操作:

public class FirstActivity extends Activity {
    private BluetoothDevice device;
    ...
    @Override
    protected void onCreate(Bundle b) {
        super(b);
        ...
        device = ((MyApplication) getApplication()).getBtDevice();
        ...
    }
    ...
}

然后,任何时候您的其他活动需要使用该连接,他们只需要调用getBtDevice(), 因为FirstActivity已经实例化了它。

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

Android:如何将蓝牙连接传递给另一个活动? 的相关文章

随机推荐

  • 在 Fragment 中显示/隐藏软键盘事件

    有很多关于查找显示 隐藏软键盘事件的帖子 我发现自己处于需要根据片段中的软键状态更改图标的情况 我尝试实现 onMeasure 但无法在片段中覆盖它 是否有一种 相对 无痛的方法可以在我的片段中获得干净的显示 隐藏软键盘事件 或者我应该放弃
  • 检查 Java 集合泛型类型是否为空集合

    我想实现以下功能 public boolean checkType Vector
  • 耙子中止!未初始化常量Object::Country,为什么看不到模型?

    我有 Rails 3 1 我正在尝试使用 seeds rb 填充数据 我有一个模型Country被迁移到国家表中 但似乎 Rails 无法从 seeds rb 中看到国家 地区模型 我收到此错误 rake aborted uninitial
  • 列表视图中指定列的粗体文本不起作用

    这段代码有什么问题 第三个索引列文本未设为粗体 foreach ListViewItem itm in listView1 Items itm SubItems 3 Font new Font listView1 Font FontStyl
  • 在 POST 操作中更改 ViewModel 属性

    我有这个 POST 操作 HttpPost public ActionResult GetReport GetReportModel model if ModelState IsValid return View model return
  • 在 Rails 4 中添加参考列迁移

    一个用户有很多上传 我想添加一列uploads引用的表user 迁移应该是什么样子 这是我所拥有的 我不确定是否应该使用 1 user id int or 2 user references 我什至不确定 2 是否有效 只是想以 轨道 的方
  • 仅显示 Rails ERB 中存在的记录的优雅方式

    我发现在显示有关用户的信息时 我在 ERB 视图中使用了大量重复代码 沿着 我基本上对我认为的所有内容都这样做 以避免错误 例如 可能没有所有新字段的老用户 有一个更好的方法吗 将逻辑移至助手中 def name for user user
  • 为什么我的 UILocalNotification 不播放任何声音?

    这让我抓狂 我相信我已经尝试了所有可能的方法 但我的手机仍然决定保持沉默 我只想让它玩any当我呈现本地通知时 现在会发出声音 目前 无论是UILocalNotificationDefaultSoundName我添加到应用程序包中的自定义声
  • 在没有模拟器的外部设备上安装 sqlite3

    我是一名学生 我想了解如何在 android 上使用 sqlite3 我的朋友尝试运行 Android 模拟器并开始输入命令adb e shell su 浏览模拟器存储 然后运行sqlite3 mydb db 一切都很顺利 但是每当我们尝试
  • Flutter将图像转换为base64并将base64字符串转换为图像[重复]

    这个问题在这里已经有答案了 您好 我想将图像转换为 base64 字符串 然后将其转换回图像 我就是这样做的 File pickedImage await ImagePicker pickImage source ImageSource g
  • 对 c 中的 -(--a) 与 --(-a) 感到困惑

    与混淆 and 操作员 int a 10 printf d n a valid output 9 但是 使用以下内容时会出现问题 printf d n a error invalid Why The and 运算符仅适用于左值 不适用于值
  • ifelse 没有按预期循环行

    我的数据看起来像这样 df lt read table tc lt textConnection var1 var2 var3 var4 1 1 7 NA 4 4 NA 6 2 NA 3 NA 4 4 4 4 1 3 1 1 header
  • 使用载波和雾将文件上传到 S3 时缺少要求

    我收到这个错误Missing required arguments aws access key id aws secret access key 这看起来很奇怪 因为我已经在初始化程序文件夹中添加了 Carrierwave rb 当我使用
  • 评估 Python 中动态生成的语句

    我需要动态生成 python 代码并使用 eval 函数执行它 我想做的是生成一些 导入 和 赋值 我的意思是 我需要生成这个字符串来评估它eval x x import testContextSummary import util tes
  • 如果应用程序以 CTRL_CLOSE_EVENT 退出,则 boost::log add_file_log 不会写入

    我使用的是 Windows 7 在控制台应用程序中使用 v1 54 中的 boost log 我使用带有旋转的 add file log 只要我的 main 函数退出 它就可以正常工作 但是 如果使用 powershell CloseMai
  • 如何在 JDBC 中启动事务?

    Connection setTransactionIsolation int warns 注意 如果在事务期间调用此方法 则结果是实现定义的 这就提出了一个问题 如何在 JDBC 中开始事务 如何结束交易很清楚 但如何开始交易却不清楚 If
  • 使用坐标以编程方式旋转形状

    如果我有一些使用坐标数组定义的形状 例如 30 30 30 30 30 30 30 30 和边缘定义使用 0 1 0 3 1 2 2 3 做一个正方形 如何以编程方式告诉形状在 JavaScript 中以 0 gt 359 的角度在中心旋转
  • Quickblox:删除内容项(图片文件/blob)时出现问题

    当我尝试删除以 PNG 图片文件形式存储在后端数据库中的内容项 用户的图片 blob 项 时 我遇到了一个奇怪的问题 删除过程没有错误 但给出 422 Unprocessable Entity 这是什么意思 在 Quickblox 管理面板
  • “代码 。”命令在命令提示符下不起作用

    使用 Angular cli 创建 Angular 应用程序后 我尝试使用 code 在 Visual Studio Code 中打开解决方案 命令提示符下的命令 但显示以下错误 有什么建议吗 如果您使用的是 Windows 请确保您的vs
  • Android:如何将蓝牙连接传递给另一个活动?

    我有我的第一个活动 其中建立了 BT 连接 有一个选项呈现给用户 并且根据他们的选择 将加载不同的活动 问题是 这两项活动都需要 BT 连接 而且我不认为为了建立另一个连接而破坏一个连接有什么意义 有没有办法可以传递活动之间的连接 有人给我