问题标签 [discoverability]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1074 浏览

android - (Android && 蓝牙)无需用户交互就可以从服务中发现设备?

我希望能够自动打开 android 设备上的可发现性,而不会提示用户使用安全对话框。

我正在开发两个应用程序,一个用于 Android 电视盒,一个用于我的智能手机。我希望能够使用我的智能手机控制 android 电视盒,但是我想做到这一点而不需要在电视盒上手动打开可发现性,因为这需要某种遥控器完全破坏应用程序的要点。

是否有另一种方法可以通过我可以使用的 API 实现可发现性 - 最好是通过服务。

谢谢,

内森。

0 投票
3 回答
8633 浏览

android - 如何在android中更改蓝牙适配器的扫描模式。?

目前我正在开发一个蓝牙应用程序,我需要在单击按钮时将扫描模式从更改SCAN_MODE_CONNECTABLE_DISCOVERABLESCAN_MODE_CONNECTABLE

我使用以下意图将其设置为可发现:


我在哪里设置DISOVERABLE_DURATION=300

现在我想跳过两者之间的可发现性,并将其状态更改为SCAN_MODE_CONNECTABLE仅。

请给我一个合适的解决方案../

0 投票
1 回答
565 浏览

android - 如何让蓝牙适配器始终可发现?

我有点不确定在哪里发布这个问题,所以如果有人认为我在错误的地方并且知道我应该在哪里发布它,你能指出我正确的方向吗?非常感激 :)

继续我的问题,我正在开展一个项目,该项目允许通过在一些房间(笔记本电脑或 USB 插头等)周围放置 USB 蓝牙加密狗并将他们的信息保存在数据库中来跟踪建筑物内的人的位置。然后,使用 Android 手机,我希望能够在我随身携带设备时发现这些设备,然后使用最近的 3 计算位置。

我遇到的问题是我的 Android 设备不会发现我已插入各种笔记本电脑的加密狗,除非我将它们设置为“接收文件”,即可发现(我假设)。有谁知道是否可以将它们设置为始终可见或将其设置为默认设置以便我可以将其插入插座?如果这不是一个选项,是否可以在它们未设置为可发现时找到最近的加密狗?

谢谢!

0 投票
1 回答
3749 浏览

android - 如何在android中保存可发现的蓝牙设备列表?

我正在尝试获取 android 中可破坏的蓝牙设备的列表。我可以获取设备并使用 ArrayAdapter,填充设备的 ListView。我的问题是,如何将它们保存到列表中,以便可以将此信息用于其他功能?我试过在 android 开发者网站上查找,它所拥有的只是 ListView 的教程。我还寻找其他教程或解释,似乎得到了错误的信息。

我的代码是:

}

这可能与扫描蓝牙设备相关的发现时间有关,但我认为发现每个设备后我都可以将其添加到列表中?有没有人遇到过类似的事情或有可能的解决方案?非常感激!

0 投票
2 回答
1439 浏览

android - 将蓝牙设置为不可发现

我制作了一个使用蓝牙的应用程序

在该oncreate()方法中,它启用蓝牙并将设备设置为无限期可见

onDestroy()它禁用蓝牙

但是当我退出应用程序后再次手动启用蓝牙时,它会自动设置为无限期可发现。

如何在功能Undiscoverable中禁用蓝牙之前将其设置为onDestroy()

仅在 Nexus 5 上测试

0 投票
6 回答
9416 浏览

android - Android:设置蓝牙可发现性无界

在过去的几天里,我一直在尝试制作一个应用程序,让我的三星 Galaxy S3 mini (Android 2.1.4) 在“无限”时间内被发现。我的代码目前如下所示:

尽管我将时间设置为“0”,但可发现性仅运行 2 分钟。这是相当令人沮丧的,因为我知道该设备可以无限期地被发现!(我可以手动访问蓝牙设置并将蓝牙可见性设置为“永不超时”!)

我一直在寻找一个没有成功的答案......许多帖子给出了(对于像我这样的相对不熟练的程序员)看起来过于模糊(*)、令人困惑(**)或完全错误的神秘解决方案。一个简单直接的答案解决这个问题(如果它当然存在!)将不胜感激!

(*) 使 Android 2.1 上的蓝牙可无限期被发现

(**) 延长 Android 蓝牙可发现 性 Android 应用程序蓝牙可见性持续时间 (答案部分)

显现:

编辑: 为了给人们一些背景信息,这个应用程序的目标之一是尝试发现附近的所有蓝牙设备,以便它可以直接与他们交谈。由于大多数智能手机可以在很短的时间内被发现(通常为 2 分钟*),并且只有当用户直接启用可发现性(= 可见性)时,才能实现扫描设备并自动交换数据的应用程序。(* 用户通常可以将可见性设置为“无超时”,但这需要用户直接在智能手机的蓝牙设置下设置该选项,这不是一个非常优雅的解决方案......)

0 投票
1 回答
73 浏览

rest - Neo4j - 减少 REST 响应中返回的字段数

Neo4j 的 REST 接口返回的响应非常冗长——它们不仅返回请求的每个节点中的数据,还返回请求的每个节点的完整可发现性。如果我只想要一些节点数据,结果大约是我实际需要的 20 倍,并且我遇到了内存不足异常等问题。

例如,对节点的请求可能会返回以下内容:

有没有办法减少响应中返回的信息量?我真正想要的每个节点是这样的:

甚至:

这是可以实现的吗?当我请求数十万个节点时,它会产生很大的不同。

0 投票
1 回答
545 浏览

service - 发现 SPARQL 端点的版本

给定一个 SPARQL 端点(可以是 SPARQL 1.0 或 1.1),例如http://pt.dbpedia.org/sparql,我如何找到它支持的 SPARQL 版本?

[一种选择是尝试 1.1 功能,例如聚合函数并查看它的工作原理,但我想应该有更好的方法来做到这一点]。

SPARQL 1.1 服务描述规范

通过 SPARQL 协议提供的 SPARQL 服务在使用 HTTP GET 操作取消引用时应在服务端点返回服务描述文档,而无需提供任何查询参数字符串。此服务描述必须在 RDF 序列化中可用,可以通过 RDFa [RDFA] 嵌入 (X)HTML,如果在其他 RDF 表示中可用,则应使用内容协商 [CONNEG]

并进一步,

3.2.10 sd:supportedLanguage 将 sd:Service 的实例与它实现的 SPARQL 语言(例如查询和更新)相关联。subPropertyOf: sd:feature domain: sd:Service range: sd:Language

3.3.3 sd:Language sd:Language 的一个实例代表一种 SPARQL 语言,包括提供特定功能或扩展的特定配置。本文档定义了 sd:Language 的三个实例:sd:SPARQL10Query、sd:SPARQL11Query 和 sd:SPARQL11Update。类型:rdfs:Class subClassOf: sd:Feature

但是当我取消引用大多数 SPARQL 端点时,它们只会向我发送一个 HTML SPARQL 查询编辑器。

更新:HTML 编辑器问题是因为我没有在端点上使用正确的内容协商。但现在的问题是,是否有一种很好的方法可以区分 SPARQL 1.0 端点和不提供服务描述的 SPARQL 1.1 端点?

在发现和监控 SPARQL 端点方面已经完成了一些工作,例如SPARQL Web 查询基础设施:准备好行动了吗?链接开放数据中 SPARQL 端点的可发现性,但我没有看到找到版本的直接方法。

0 投票
1 回答
100 浏览

ios - 无法定位和更改 CloudKit 可发现性消息

当人们第一次使用我的应用程序时,他们会遇到以下消息:

按钮:不允许,好的,我想更改它,但找不到设置它的 UIAlert。有没有人能够改变这个?我知道这是一个模糊的问题,是的,这可能在任何地方,因为您不知道我的应用程序的控制器和布局,但是如果有一个通用的地方可以查看会有所帮助。连关键字搜索都找不到,这让我怀疑是不是没有办法改变它。

0 投票
1 回答
610 浏览

swift - 在用户第一次拒绝后如何重新向用户请求可发现性权限?

cloudkit CKContainer requestApplicationPermission() 方法显示一个警报,仅根据文档要求用户提供一次可发现权限,并且此方法的任何未来调用都不再显示该警报。

来自以下文档:CKContainer.requestApplicationPermission() “第一次在用户的任何设备上请求权限时,系统会提示用户授予或拒绝该请求。一旦用户授予或拒绝权限,后续请求相同的权限(在相同或不同的设备上)不再提示用户。”

那么,如果用户改变了主意,我希望我的应用程序询问用户他是否改变了主意并再次显示警报,会发生什么情况呢?必须有一种方法,但我找不到任何关于它的文档。