问题标签 [android-4.3-jelly-bean]

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 投票
1 回答
5803 浏览

android - Android 4.3如何实时获取蓝牙设备的RSSI?

我正在开发一个应用程序,我必须在 Android 4.3 上连接到蓝牙低功耗设备。

当我按下按钮时,我可以在连接到设备后使用 BLE 设备的 RSSIBluetoothLeService.readRemoteRssi();

但我想每秒获得 RSSI ?? 我已经尝试过 Runnable,但它没有readRemoteRssi();在日志中调用该函数。

最终可运行可运行=新可运行(){

};

我应该在哪里输入BluetoothLeService.readRemoteRssi();??

onResume?? 或者怎么做才能让APP总能得到RSSI??

对不起我的英语,我对此很陌生。

谢谢你的指导!

0 投票
2 回答
2148 浏览

android - 如何将值从服务传输到活动?

我正在开发一个应用程序,我必须在其中连接到 Android 4.3 上的蓝牙设备。

我有两个 java 文件,一个是DeviceControl extends Activity另一个是BluetoothLeService extends Service.

我在BluetoothLeService.java中调用该函数,我希望它将rssi值返回给DeviceControl.java

mRssi = intent.getStringExtra(EXTRAS_DEVICE_RSSI);DeviceControl.java中使用,它将从BluetoothLeService.java中的rssi接收值。

但它总是显示DeviceControl.java中的值为 null

为什么 mRssi 的值为空?

这是BluetoothLeService.java中的函数

以及DeviceControl.java中的代码

    

编辑

BluetoothLeService.java中的代码 修改了onReadRemoteRssibroadcastUpdate的代码。

DeviceControl.java中的代码在onReceive中 添加从intent接收值的代码

我从日志文件中看到了日志,它在BluetoothLeService.java中的 broadcastUpdate 函数中显示了日志消息,如下所示:

但我没有看到任何关于action = EXTRAS_DEVICE_RSSI的日志。我不知道是 sendBroadcast 没有发送还是onReceive没有调用???

0 投票
1 回答
30632 浏览

android - 连接BLE设备后如何获取电量?

我正在开发一个应用程序,我必须在其中连接到 Android 4.3 上的蓝牙设备。

我想通过使用Battery_ServiceBattery_Level来获取电池电量。

但值mBluetoothGatt.readCharacteristic(batteryLevel);不是电池电量值

如何读取电池?

0 投票
0 回答
424 浏览

android - 如何在 Android 4.3 中检测受限配置文件

Android 4.3 提供了受限配置文件的功能。因此,如果用户处于受限配置文件中,则应用程序会在其上崩溃并且它在正常模式下工作。有什么方法可以检测到用户处于受限模式。请告诉我是否有人知道。

0 投票
2 回答
632 浏览

android - Galaxy Nexus 上未显示线性布局背景

我有一个使用列表视图来显示信息的应用程序,并且我已经放置了部分来划分不同类型的数据。这是它在 Android 4.1.2 上的屏幕截图http://postimg.org/image/ujv765wf1/ 它在 Android 4.0.3 上看起来是一样的,非常完美。

但随后在运行 Android 4.3 的 Galaxy Nexus 上,这些部分的背景消失了,看起来像这样http://postimg.org/image/5ik2tayip/

图标和其他可绘制资源正确显示,但唯一的背景不是。它们之间的唯一区别是背景是在 XML 文件中声明的,而其他资源是通过编程方式添加的。

这是该部分的 XML 文件

我想如果我通过代码添加背景应该可以工作,但我想知道这里有什么问题,为什么 Android 4.3 上没有显示背景?先感谢您。

编辑:我尝试从 .png 和 .xml 文件中分配背景,但仍未显示。另外,我发现目前这个问题只发生在 Galaxy Nexus 上,当我在运行 Android 4.3 的 Galaxy S3 上进行测试时,一切都很好。

编辑2:现在问题自行消失了,我会密切关注它并写下如果发生了一些值得注意的事情

0 投票
1 回答
250 浏览

android-4.0-ice-cream-sandwich - 在 Android Jellybean 中,如何与我选择的特定字段共享联系人条目?

我有一部带有 android jellybean 4.3 的手机。我在我的人员应用程序中使用谷歌联系人。我想将我的联系人条目分享给我的客户,但是,我只想向他们发送特定条目,例如我的手机号码和电子邮件地址。我自己的联系人条目中有很多其他字段,例如家庭地址、生日等,我不想发送。

当我尝试通过蓝牙、条形码扫描仪、Gmail 等共享联系人条目时,它会发送我的所有信息,而不会提示我从联系人中选择要共享的字段。有没有办法只发送特定字段或者我需要另一个应用程序?

0 投票
2 回答
8787 浏览

android - 蓝牙低功耗通知

我正在尝试从健康档案中读取温度值。健康温度计服务。根据官方 google ble devlopment page当我尝试通知健康温度计特征以读取温度时,我尝试使用 writeDescriptor 写入描述符值(客户端特征配置),writeDescriptor 的回调方法根据谷歌返回状态 5,它是 GATT_INSUFFICIENT_AUTHENTICATION。所以我注释了 writedescriptor 的代码并尝试调用方法 mBluetoothGatt.setCharacteristicNotification(characteristic, enabled); 但从未调用过 onCharacteristicChanged 方法。当我与我的 ios 开发人员团队交谈时。他们说他们从不写描述符值,他们只是将通知设置为 true,然后从同一芯片获取温度值。android 开发者需要写一个描述符值才能得到通知???所以最后我尝试从蓝牙运行官方蓝牙应用程序。com 站点出于测试目的,他们只是禁用所有三个按钮通知读取和写入???谢谢你,对不起我的英语

[更新]
找出一些可能导致一些绑定问题的日志,如果您有任何解决方案,请帮助我。

  • 生成的短期密钥仍然记录为错误
    11-08 11:26:44.392: E/bt-smp(1014): STK Generated

  • 在绑定状态发生巨大变化之后,这可能会导致身份验证不足
    11-08 11:26:49.437: I/BluetoothBondStateMachine(1014): bondStateChangeCallback: Status: 0 Address: 00:16:A4:C0:FF:EE newState: 2
    11- 08 11:26:49.437: D/BtGatt.btif(1014): btif_gattc_upstreams_evt: 事件 9
    11-08 11:26:49.437: E/BluetoothBondStateMachine(1014): 处于稳定状态,收到无效的 newState: 12

[更新]
在 nexus 7 上升级 kitkat 4.4 后。添加两种方法 对我有用,现在我可以读取加密特征。但仍然不稳定。但我取得了一些成功。
device.createBond();
device.setPairingConfirmation(true);

0 投票
0 回答
409 浏览

android - 如何获取我在 android 4.3 中连接的 BLE 设备?

我正在开发一个应用程序,我必须在其中连接到 Android 4.3 上的蓝牙设备。

我可以扫描并连接到设备,我想连接到多个 BLE 设备并列出它们。

我找到了 getConnectedDevices(),但它在 BluetoothHeadset、BluetoothProfile 和 BluetoothA2dp 中有多种类型。

**第一个问题是**这三个 API 有什么不同???哪个更好 ??****

我尝试了以下代码:

我有以下参考,但我不知道如何继续。 如何使用 BluetoothHeadset API 获取蓝牙连接的设备

第二个问题:

我应该在哪里输入List<BluetoothDevice> devices = mBluetoothHeadset.getConnectedDevices();

第三个问题

是否可以点击getConnectedDevices()列出的设备,点击后进行操作如setOnItemClickListener??

我是新手。谢谢大家的指导。

0 投票
1 回答
477 浏览

android - 在 Android 4.3 中使用接近传感器

我在 S4 中研究接近传感器。更新到 4.3 后,我的应用程序开始崩溃。

这是代码示例:

这个方法写在一个服务类中

我已经用 SensorEventListener 接口实现了服务类并实现了抽象方法。

这是代码:

这是堆栈跟踪:

注册接近侦听器的代码:

我正在 emulator 4.3 (Android) 中对此进行测试。如果我评论传感器部分,那么该应用程序正在运行。请帮助我进行调试,因为我找不到任何错误。提前致谢

0 投票
1 回答
248 浏览

java - 当我使用 onNewIntent 时发生 java.lang.NullPointerException 的错误

我正在开发一个应用程序,我必须在其中连接到 Android 4.3 上的蓝牙设备。

我已经连接到 BLE 设备,Main.java中的函数将从DeviceControl.java接收设备地址。

我将设备地址存储在String[] address我连接的位置。

如果从DeviceControl.java接收的地址已经在 中String[] address,它不会在列表视图中列出。

当我看到日志时,从DeviceControl.java和 String 数组接收的字符串的值是相同的。地址[0] = 90:59:AF:0B:8A:AC 地址 = 90:59:AF:0B:8A:AC

但它仍然在列表视图上显示地址,并且if else function表明是有区别的!

这是我的代码:

}

它总是显示消息:显示地址:90:59:AF:0B:8A:AC

为什么我看到的地址是一样的,但它仍然显示它是不同的????