java - 我可以告诉android系统当前没有插入耳机吗?

标签 java android kotlin

我知道这是一个很大的远景,但现在就开始吧。我的手机在耳机端口进水损坏,所以目前它总是认为插入了不存在的耳机。这使得我只能在扬声器上进行对话,否则它会尝试从不存在的麦克风录制音频。

我看到有一个 Action 叫做ACTION_HEADSET_PLUG here .有没有一种方法可以在整个系统范围内广播该操作,以便“欺骗”android 认为没有插入任何东西,或者这是一个人根本没有权限做的事情?

类似的东西:

Intent().also { intent ->
            intent.setAction("android.intent.action.HEADSET_PLUG")
            intent.putExtra("state", 0)
            sendBroadcast(intent)
        }

最佳答案

试试这个:

AudioManager audioManager = AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.isWiredHeadsetOn();

需要添加权限

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

关于java - 我可以告诉android系统当前没有插入耳机吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55565342/

相关文章:

java - 在映射结构中映射时是否可以从属性文件加载源值和目标值?

java - LibGDX FrameBuffer 到TextureRegion 正在渲染不正确的 Sprite

Java/Spring 应用程序无法在 cloudfoundry 上启动 : OutOfMemoryError Compressed class space

java - Android SDK - 在后台运行功能

java - Kotlin for 具有不同的增量

android - 从 viewModelScope 中的 Flow 收集数据是否会阻止 Android Studio 中的 UI?

java - 如何配置连接到 AWS EMR spark 集群的 Java 客户端

android - 在Android上切换USB音频

android - 屏幕旋转和 rxjava 后查看实例 null

Kotlin 主构造函数调用辅助构造函数