小编Ser*_*kov的帖子

通过蓝牙耳机VoIP接听电话

我正在研究VoIP-Android-App和该应用程序需要能够接受/拒绝通话蓝牙耳机.

但问题是在添加连接到SCO之后

    audioManager.startBluetoothSco()
    audioManager.isBluetoothScoOn = true
Run Code Online (Sandbox Code Playgroud)

一旦我点击耳机按钮,我可以听到通常在我接受使用电话呼叫时发出的声音,所以我假设一些android系统组件捕获此信号并且不会进一步抛出它

我已经尝试过了:

1)电话状态监听器(它始终是IDLE)

   val tm = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
   phoneStateListener = MyPhoneStateListener()
   tm.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE)
Run Code Online (Sandbox Code Playgroud)

2)MediaSession +静音噪音+媒体按钮监听器第一次点击不起作用,第二次+点击正确处理

3)MEDIA_BUTTON接收器不起作用

我在SO上发现了类似的问题,但没有答案如何使其工作 通过蓝牙耳机接受呼叫

那么我是如何拦截蓝牙耳机服务的蓝牙按钮点击的呢?

android bluetooth voip-android

16
推荐指数
1
解决办法
807
查看次数

RxJava2找不到Func0

RxJava 2几乎已经发布,我想从RX 1.2.0迁移到2.0.0,但我注意到RxJava 2中没有Func0接口.

开发人员应该在RxJava 2中使用哪些代替Func0?

android rx-java

7
推荐指数
2
解决办法
3984
查看次数

D8 Compiler 比 Dx Compiler 慢得多

我已将 Android Gradle 插件更新到 3.3.2,并面临与 3.0.1 相比构建时间显着变慢的问题。

DX 需要 1 分钟 40 秒 - 2 分钟 20 秒进行干净构建和大约 1 分钟进行重建,而 D8 需要 9 分钟进行干净构建,大约 7 分钟进行重建

经过一番调查,我发现 D8 编译器从 3.1.+ 开始默认开启,可以关闭,但从 3.3.+ 开始就不可能了。

这是 gradle.properties

org.gradle.jvmargs=-Xmx4608m
org.gradle.caching=true
org.gradle.parallel=true
android.enableD8=true
android.enableD8.desugaring=true
Run Code Online (Sandbox Code Playgroud)

minifyEnabled false
shrinkResources false
Run Code Online (Sandbox Code Playgroud)

--scan 显示 transformClassesWithDexBuilder 需要 5-7 分钟才能完成,有没有办法在不关闭 D8 的情况下提高构建速度?

android build dx android-studio

5
推荐指数
0
解决办法
594
查看次数

标签 统计

android ×3

android-studio ×1

bluetooth ×1

build ×1

dx ×1

rx-java ×1

voip-android ×1