【问题标题】:Bluetooth discoverable with Android-TV可通过 Android-TV 发现的蓝牙
【发布时间】:2016-03-08 17:05:51
【问题描述】:

我在 Android 中使用蓝牙开发了一个运行良好的应用,但在 Android TV 中尝试时遇到了一些问题。

根据Bluetooth tutorial,我用它来让我的设备可被发现:

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

它在普通设备上运行良好,但在 Android TV 中,我得到一个ActivityNotFoundException

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.bluetooth.adapter.action.REQUEST_DISCOVERABLE (has extras) }

如果我理解得很好,这个异常意味着默认情况下没有活动向用户询问请求(我认为默认对话框询问权限)。

那么有没有办法创建我们自己的活动(来处理这种行为)或者可能不向用户询问许可。或者当然,可能是我的方法完全错误。

我不知道它是否有用,但我正在 Nvidia SHIELD TV 上开发。

【问题讨论】:

    标签: android bluetooth android-tv


    【解决方案1】:

    这可能与您的清单中的问题有关。您需要在您的应用中声明一项活动,以便能够接收来自

    的 Intent
    act=android.bluetooth.adapter.action.REQUEST_DISCOVERABLE
    

    查看this answer,了解有关如何在清单中声明活动的更多信息。

    【讨论】:

    • 感谢您的回答,但仍然无法正常工作。普通设备不需要这种意图,所以我认为这里不需要。
    【解决方案2】:

    ANDROID 6.0 MARSHMALLOW 和蓝牙存在一些问题。我遇到了类似的问题:我无法在 Android TV 上使用我的应用程序进行发现,但它在我的手机上运行良好(而且我没有例外)。我放弃了 ANDROID 6.0 MARSHMALLOW 并转到了 5.3,然后它就可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      • 2021-08-16
      • 2019-01-29
      • 2014-07-12
      • 2016-05-08
      • 1970-01-01
      相关资源
      最近更新 更多