gpt4 book ai didi

java - 这个方法会被调用吗? (仍然需要一个可接受的答案......查看答案中的详细信息)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:43:18 24 4
gpt4 key购买 nike

长话短说:

onPause 方法是否在通话过程中被调用?

我有 READ_PHONE_STATE 的权限,但我不想要。那么,是否会在通话时调用 onPause 方法,以便我可以在那里将我的应用静音?

private PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {

if (doesUserHavePermission()) {


if (state == TelephonyManager.CALL_STATE_RINGING) {
onPhoneCallInterrupt(); //Method I made that mutes audio for phone call
} else if (state == TelephonyManager.CALL_STATE_IDLE) {
} else if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
onPhoneCallInterrupt(); //Method I made that mutes audio for phone call
}
}
}

};

这需要此权限:

enter image description here

我想摆脱它。那么我是否必须明确地收听电话?或者我可以在 onPause() 中静音吗?

这是我的应用程序,您可以在尝试下载时看到权限请求:

https://play.google.com/store/apps/details?id=com.culybrace.ruchir.buttonsmasher&hl=en

最佳答案

根据我的经验,这取决于手机。有2个案例。1. 当铃声响起时 -> 新的调用 Activity 开始。 :在这种情况下,调用 onPause 是因为新的 Activity 在您的应用程序上。2. 当铃声响起时 -> 铃声窗口显示在应用程序上。(不是 Activity ) :在这种情况下,不会调用 Activity 回调。并且用户可以像响铃前一样使用该应用程序。

您可以在未经许可的情况下使用 AudioManager,检查一下 AUDIOFOCUS_LOSS called after a phone call in android

关于java - 这个方法会被调用吗? (仍然需要一个可接受的答案......查看答案中的详细信息),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34259518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com