У меня есть приложение для вызова SIP. И моя логика на телефонах состояла бы в том, чтобы открыть IncomingCallScreen.
У меня было это на нем:
private fun wakeUpDeviceWhenWindowShown() {
window.addFlags(FLAG_SHOW_WHEN_LOCKED or FLAG_DISMISS_KEYGUARD or FLAG_TURN_SCREEN_ON or FLAG_ALLOW_LOCK_WHILE_SCREEN_ON)
}
, которое работало безупречно, до Android 10. На Android 10 я не могу сделать из своего SIPServiceвызов для запуска действия, потому что запуск действия из службы больше не разрешен. Поэтому я сделал уведомление с RemoteViews, и у меня есть 2 кнопки «Ответить» и «Отклонить».
При ответе я делаю это:
val intentAnswer = Intent(context, IncomingCallActivity::class.java)
intentAnswer.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
intentAnswer.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
intentAnswer.putExtra(SIPManager.PARAM_CALL_NAME, name)
intentAnswer.putExtra(SIPManager.PARAM_ANSWER_SIP, name)
val pendingIntentAnswer = PendingIntent.getActivity(context, 2, intentAnswer, PendingIntent.FLAG_UPDATE_CURRENT)
contentView.setOnClickPendingIntent(R.id.answerCall, pendingIntentAnswer)
Но когда я нажимаю кнопку «Ответ», она неперейдите непосредственно к экрану IncomingCall, но он запрашивает пароль. Можно ли это отклонить? чтобы пользователю не нужно было вводить свой пароль?