我开发了一个在android中使用蓝牙的应用程序,运行良好,但当我在Android电视上试用它时,我遇到了一些问题。
根据蓝牙教程的说法,我用它来让我的设备可以被发现:
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
startActivity(discoverableIntent);它在普通设备上运行良好,但在Android电视上,我得到了一个ActivityNotFoundException。
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.bluetooth.adapter.action.REQUEST_DISCOVERABLE (has extras) }如果我理解得很好,这个异常意味着在默认情况下没有活动来向用户询问请求(我认为默认的对话框请求权限)。
那么,是否有一种方法可以创建我们自己的活动(处理这种行为),或者不请求用户的许可。当然,也许我的做法是完全错误的。
我不知道它是否有用,但我正在开发的Nvidia盾电视。
发布于 2016-03-08 17:19:36
这可能与你的清单中的一个问题有关。您需要声明应用程序中的活动之一才能从
act=android.bluetooth.adapter.action.REQUEST_DISCOVERABLE有关如何在清单中声明活动的更多信息,请查看此这个答案。
发布于 2016-03-10 08:59:00
Android6.0的棉花糖和蓝牙有一些问题。我也遇到了一个类似的问题:我不能在安卓电视上用我的应用程序来做一个发现,但是我的手机运行得很好(而且我没有Exeptions)。我放弃了Android6.0棉花糖,转而使用5.3,之后就可以工作了。
https://stackoverflow.com/questions/35873549
复制相似问题