gpt4 book ai didi

android - 使 Android 2.1 上的蓝牙无限期可发现

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:53:07 24 4
gpt4 key购买 nike

我正在从事一个涉及蓝牙和 Android 操作系统的研究项目。我需要让蓝牙无限期地被发现,以便项目继续进行。

问题:

  • Android 将可发现性限制为 300 秒。
  • 我不能要求用户每 300 秒重新打开可发现性,因为我的应用程序设计为在后台运行而不会打扰用户。
  • 据我所知,没有办法通过 Android 的 GUI 来增加时间。一些消息来源称这是一项安全功能,其他人则称这是一个错误。两者都可能有一点道理......

我正在尝试/已经尝试过的:

  • 我正在尝试编辑 cyanogenmod 的稳定版本关闭可发现性计时器(这是可能的;有一个配置文件需要更改一个数字)。这不起作用,因为我在生成的包中遇到验证问题。
  • 在过去的一周里,我下载了 cyanogenmod source code , 更改了相关类,希望它可以无限期地发现蓝牙,并尝试 recompile.这没有用,因为(a)repo 经常更改,导致代码库不稳定,无法编译(或者,可能是我使用不正确;只是因为它看起来像是许多代码的错误实例并不意味着我应该将我遇到的所有问题都归咎于它!)和 (b) repo 决定定期“忽略”我(但总是,因为我之前已经获得了代码库!),回复我的同步/连接尝试:

    fatal: The remote end hung up unexpectedly

如您所想,上述两个问题是有问题的,处理起来非常令人沮丧。
更多信息:

  • 我正在通过 cyanogenmod(我相信是 v5)运行 Android 2.1。这意味着手机也已获得 root 权限。
  • 我有一部开发者手机,这意味着引导加载程序已解锁。
  • 我的手机是 HTC Magic (32B)。

大问题:

  • 如何让蓝牙在 Android 上无限期地被发现?

最佳答案

请参阅以下链接: http://developer.android.com/guide/topics/wireless/bluetooth.html#ConnectingDevices

具体来说,下面段落的最后一句:

Enabling discoverability
If you would like to make the local device discoverable to other devices, call startActivityForResult(Intent, int) with the ACTION_REQUEST_DISCOVERABLE action Intent. This will issue a request to enable discoverable mode through the system settings (without stopping your application). By default, the device will become discoverable for 120 seconds. You can define a different duration by adding the EXTRA_DISCOVERABLE_DURATION Intent extra. The maximum duration an app can set is 3600 seconds, and a value of 0 means the device is always discoverable.

所以,这应该可行:

Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);
startActivity(discoverableIntent);

关于android - 使 Android 2.1 上的蓝牙无限期可发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3190623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com