【发布时间】:2016-03-19 11:45:50
【问题描述】:
TL;DR:
在通话过程中,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
}
}
}
};
这需要此权限:
我想摆脱它。那么我必须明确地接听电话吗?或者我可以在 onPause() 中静音吗?
这是我的应用程序,您可以在尝试下载时查看权限请求:
https://play.google.com/store/apps/details?id=com.culybrace.ruchir.buttonsmasher&hl=en
【问题讨论】:
-
onPause 一旦活动/片段进入后台就会被调用,所以如果电话应用程序有布局,我想它会工作
-
@RuchirBaronia 为什么你不想要 READ_PHONE_STATE 权限?
-
创建后台服务来检查您的手机当前状态....如果手机正在响铃或激活,则将您的音频静音
-
@HetalUpadhyay ...检查当前状态需要该权限...
标签: java android string android-activity optimization