bluetooth 相关问题

蓝牙是一种全球开放式无线技术标准,用于从固定和移动设备短距离(使用短波无线电传输)交换数据,创建具有高安全性的个人局域网(PAN)。

Android 蓝牙配对,无需用户输入 PIN 码并使用 Android API 进行确认

我是Android编程的初学者,因为我三个月前才开始。 我正在做一个使用蓝牙将 Android 应用程序连接到 Arduino 的项目。我已经有 Android 应用程序的代码 (

回答 3 投票 0

查找 Android 智能手机蓝牙 MAC 地址的 bt_config.conf”或“bt_config.xml”

我有一台三星 Galaxy Note 20 Ultra (Exynos) - 已 root。 由于某种原因,我想更改我的智能手机 BT 地址。 下面的链接文章中提到了这一点。 查找设备蓝牙MAC地址...

回答 1 投票 0

缺少蓝牙权限 - 但我的应用程序不使用它

我当前的应用程序几乎可以正常工作,只是它偶尔会抛出一个我无法解释的错误: E/AudioManagerAndroid: 缺少蓝牙权限! 没有提供更多信息......

回答 1 投票 0

如何更改iPhone和Android上的蓝牙MAC地址或发送假的?

我想知道是否有应用程序或类似的东西可以让您更改手机的蓝牙MAC地址。我想要的是将蓝牙信号从一部特定手机复制到...

回答 1 投票 0

Android java中如何接收蓝牙耳机播放暂停事件

如何在我的 VOIP 应用程序中接收蓝牙颈带播放暂停事件? 我在应用程序中实现了下面的广播接收器。 清单文件 如何在我的 VOIP 应用程序中接收蓝牙颈带播放暂停事件? 我在应用程序中实现了下面的广播接收器。 清单文件 <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <receiver android:name=".MediaButtonReceiver" android:exported="true" android:priority="10000" > <intent-filter > <action android:name="android.intent.action.MEDIA_BUTTON" /> </intent-filter> </receiver> public class MediaButtonReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { android.util.Log.d("TAG", "Bluetooth onPlay: "+intent.getAction()); if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) { KeyEvent event = intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT); if (event != null && event.getAction() == KeyEvent.ACTION_DOWN) { int keyCode = event.getKeyCode(); if (keyCode == KeyEvent.KEYCODE_MEDIA_PLAY || keyCode == KeyEvent.KEYCODE_MEDIA_PAUSE) { // Handle play/pause event } } } } } 并像这样注册到调用活动 MediaButtonReceiver r = new MediaButtonReceiver(); registerReceiver(r, new IntentFilter(Intent.ACTION_MEDIA_BUTTON)); 并且还在应用程序中的广播接收器下面实现了 public class BluetoothHeadsetReceiver extends BroadcastReceiver implements BluetoothProfile.ServiceListener { private static final String TAG = "BluetoothHeadsetReceiver"; private BluetoothHeadset bluetoothHeadset; @Override public void onServiceConnected(int profile, BluetoothProfile proxy) { if (profile == BluetoothProfile.HEADSET) { bluetoothHeadset = (BluetoothHeadset) proxy; Log.d(TAG, "Bluetooth Headset connected"); } } @Override public void onServiceDisconnected(int profile) { if (profile == BluetoothProfile.HEADSET) { bluetoothHeadset = null; Log.d(TAG, "Bluetooth Headset disconnected"); } } @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.d(TAG, "Bluetooth Headset onReceive : "+action); if (BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED.equals(action)) { int state = intent.getIntExtra(BluetoothHeadset.EXTRA_STATE, BluetoothHeadset.STATE_DISCONNECTED); if (state == BluetoothHeadset.STATE_CONNECTED) { Log.d(TAG, "Bluetooth Headset connected"); } else if (state == BluetoothHeadset.STATE_DISCONNECTED) { Log.d(TAG, "Bluetooth Headset disconnected"); } } else if (BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED.equals(action)) { int state = intent.getIntExtra(BluetoothHeadset.EXTRA_STATE, BluetoothHeadset.STATE_AUDIO_DISCONNECTED); if (state == BluetoothHeadset.STATE_AUDIO_CONNECTED) { Log.d(TAG, "Bluetooth Headset audio connected"); // Handle button click events or other actions here } else if (state == BluetoothHeadset.STATE_AUDIO_DISCONNECTED) { Log.d(TAG, "Bluetooth Headset audio disconnected"); } }else{ Log.d(TAG, "Bluetooth Headset onReceive else : "); } } public void register(Context context) { BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (bluetoothAdapter != null) { bluetoothAdapter.getProfileProxy(context, this, BluetoothProfile.HEADSET); IntentFilter filter = new IntentFilter(); filter.addAction(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED); filter.addAction(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED); context.registerReceiver(this, filter); } else { Log.e(TAG, "Bluetooth is not supported on this device"); } } public void unregister(Context context) { context.unregisterReceiver(this); if (bluetoothHeadset != null) { BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.HEADSET, bluetoothHeadset); } } } 在调用 Activity OnCreate() 方法中注册以下代码。 MediaButtonReceiver r = new MediaButtonReceiver(); registerReceiver(r, new IntentFilter(Intent.ACTION_MEDIA_BUTTON)); if(gc.hasBTPermission(this, ConstantStrings.BLUETOOTH_PERMISSION)) { if (BluetoothManager.getInstance().isBluetoothHeadsetAvailable()) { headsetReceiver = new BluetoothHeadsetReceiver(); headsetReceiver.register(this); BluetoothManager.getInstance().initBluetooth(); } } 但不接收蓝牙耳机播放,暂停点击事件仅接收应用程序中的蓝牙连接和断开事件。 我想基于蓝牙点击事件呼叫接受和挂断呼叫,但不在应用程序中接收事件。 蓝牙 HID 配置文件/服务始终由设备的底层操作系统处理。只需订阅操作系统的关键事件即可。在 Android 中,应用程序可以通过覆盖 MediaSession.Callback.onMediaButtonEvent(Intent) 来覆盖默认行为。在这种情况下,应用程序可以/需要自行处理所有 API 细节。

回答 1 投票 0

不允许 LE 连接更新命令

连接到中央(Chrome 中的网络蓝牙)后,我在 Ubuntu 18.04 LTE(Bionic Beaver)中运行以下命令: sudo hcitool lecup --handle 24 --min 6 --max 7 --latency 0 --timeout 50...

回答 1 投票 0

Android 由于清单中的权限错误而未构建

Kind Stack-overflowers,我正在尝试创建一个博览会反应本机模块以便使用蓝牙,但是我遇到了一个奇怪的问题 这是错误: 缺少

回答 2 投票 0

在 Android 上禁用“蓝牙权限请求”确认 - 使用 ACTION_REQUEST_DISCOVERABLE

我正在尝试将我的Android手机作为蓝牙服务器进行广播,为此,我首先想让Android“可发现”。 我使用 ACTION_REQUEST_DISCOVERABLE 来执行此操作,如下所示: http://

回答 1 投票 0

尝试通过蓝牙与 Android 进行连接时出现“服务发现失败”

我想要在我的智能手机 HTC One X 上运行 Android 示例项目“BluetoothChat”。当尝试连接到连接到我的电脑的蓝牙适配器时,我收到“服务发现故障...

回答 1 投票 0

如何在 Android 中将蓝牙设备发现超时设置为 1 小时(3600)秒且永不超时

我正在开发蓝牙应用程序,我想添加手动配置可发现超时周期的功能。当我将 DISOVERABLE_DURATION 设置为 120 或 300 时,它工作正常。但是它确实...

回答 1 投票 0

Android 蓝牙适配器未发出 ACTION_DISCOVERY_FINISHED

我有一个带有广播接收器设置的课程。接收器侦听以下操作: ACTION_FOUND ACTION_DISCOVERY_STARTED ACTION_DISCOVERY_FINISHED 找到并启动的操作将被...

回答 1 投票 0

Android 蓝牙发现采用顺序方法?

我是 Android 编程新手。我想制作一个包含蓝牙发现功能的库(JAR 文件)。 既然是库,那么里面的方法应该是顺序方法(s...

回答 2 投票 0

使用 Android SDK 检测附近移动设备的方法?

我正在考虑开发一款 Android 应用程序,用于检测附近已打开的所有或大多数附近的移动设备(iPhone、Android 等)。我不需要互动...

回答 1 投票 0

如何以编程方式清除Android中的蓝牙名称缓存?

我注意到,当配对的蓝牙设备名称更改时,我的 Android 设备并不总是注册该名称更改。它继续显示设备的旧名称...这不是问题...

回答 2 投票 0

Android 上的蓝牙发现 - 有没有办法知道附近是否有蓝牙设备?

如果附近有蓝牙设备,我想显示某种警报/通知。目前我的解决方案是每分钟进行一次发现,但是有更复杂的方法吗? (李...

回答 3 投票 0

如何从Android发现XBee并在两者之间发送数据

有很多关于这个主题的帖子,但我还无法解决我的问题,也没有看到太多关于使用 XBee-4 Nano 的讨论。我正在开发一个 Arduino/Android 项目...

回答 1 投票 0

Android 6.0 - 蓝牙 - Action_Found 广播意图不存在代码

更新 我尝试了很多代码,也来自互联网上显示的示例。他们每个人都遵循我的方法。经过几个小时的测试,我得出的结论是,在 Android 6.0 上没有机会

回答 1 投票 0

实时测量蓝牙信号强度(RSSI)

我希望能够手持 Android 设备在房间里走动,单击显示房间 1 的按钮,然后开始发现我周围的蓝牙设备并获取它们的 RSSI 值。然后我

回答 1 投票 0

如何在android上定期扫描蓝牙设备

嗨,这可能听起来是一个愚蠢的问题。但我无法找到任何答案,因此在这里发帖。 我正在构建一个室内应用程序,它连续扫描位于

回答 4 投票 0

仅使用我的应用程序的 Android 蓝牙发现设备

是否可以限制 startDiscovery() 的结果?仅提供也在使用我的应用程序的客户作为结果?在我的应用程序中,用户可以是服务器或客户端。 我不是要代码,我只是...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.