我使用下面添加的代码来获取android设备的连接音频设备。使用AudioManager api方法getDevices()
并获得了耳机、扬声器、耳机等连接设备的结果。但此getDevices()
方法仅适用于android api级别23(Marshmallow)。
但是我的应用程序应该支持api级别21(Lollipop)。请任何人让我知道替代api以获取android设备的可用音频设备。
与api级别23一起使用的代码。
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
AudioDeviceInfo[] adi = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS);
}
请帮助我提供一种方法,为运行低于Marshmallow(api级别23)的Android OS版本的设备获取连接的音频设备。
在API级别23之前似乎没有这样的API,但可以使用布尔方法来检查某个音频设备是否打开:
isWiredHeadsetOn()
-在API级别5中添加,在API级别15中弃用isSpeakerphoneOn()
-在API级别1中添加isBluetoothScoOn()
-在API级别1中添加isBluetoothA2dpOn()
-在API级别3中添加,在API级别26中弃用如果您在向 AndroidManifest 添加MODIFY_AUDIO_SETTINGS权限时总是出错.xml
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
检查后,您可以通过向方法传递< code>true或< code>false来设置设备的开启或关闭:
我是低功耗蓝牙 (LE) API 的新手。有没有办法检查Android设备当前是否连接到任何蓝牙LE设备,并可能获得这些设备的列表? BT-LE设备真的“连接”了吗?我注意到当我的智能手表与我的Nexus 5配对/连接时,状态栏(在KitKat上)中的蓝牙图标不会像连接到经典蓝牙设备时那样变成白色/粗体。 我在经典设备上使用了下面的代码。看起来我可以用相同的方式检查GATT和GATT_SERVER
我们可以从adb shell获取连接到android设备的设备列表吗?
我可以通过调用来获取内部存储,它返回内部存储的路径。 这方面的任何帮助都将非常感谢,因为没有一个标准的AFAIK可以用来检索所有连接的存储设备的列表。 还有,很多解决方案在不同的设备和Android版本上不起作用。
通常,编写基于WinPcap应用程序的第一件事情,就是获得已连接的网络适配器列表。libpcap和WinPcap都提供了 pcap_findalldevs_ex() 函数来实现这个功能: 这个函数返回一个 pcap_if 结构的链表, 每个这样的结构都包含了一个适配器的详细信息。值得注意的是,数据域 name 和 description 表示一个适配器名称和一个可以让人们理解的描述。 下列代码能获
我想检索连接到智能手机WiFi热点的所有设备的IP地址。在Android 10及以下版本中,我能够通过执行以下代码获得此列表: 然而,在Android 11中,IP命令似乎不再有效(https://developer.android.com/training/articles/user-data-ids#mac-11岁以上) 在Android11中,有没有其他方法可以获取已连接客户端的IP地址?
我的audio player应用程序当前正在侦听“ACTION\u ACL\u DISCONNECTED”事件,检查BluetoothDevice的意图。EXTRA_DEVICE,并检查该设备的类以查看它是否是BluetoothClass。装置专业AUDIO\u VIDEO设备。如果是这样,那么我想暂停播放。基本上,当蓝牙耳机或汽车连接断开时暂停。 然而,我发现这对一些实际上以其他方式收听的用户来