質問
Chat SDKを使用しているときに、入力中にチャットアクティビティを離れると、キーボードが開いたままになり、手動で閉じる必要があります。どうすれば回避できますか?
回答
この問題が発生した場合、最も簡単な解決策は、Chat UIのメインアクティビティに戻るたびにキーボードを強制的に閉じることです。
以下の例では、MainActivityがChat UIを開始しています。これは、Chat UIを閉じると表示されるアクティビティです。この例では、スクリプトは、ビューの開始時にMainActivityがキーボードを非表示にするメソッドを作成します。後述のKotlinのコード例を参照してください。
class MainActivity : AppCompatActivity() {
private fun hideKeyboard() {
val view = currentFocus ?: View(this)
val inputMethodManager = getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(view.rootView.windowToken, 0)
inputMethodManager.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0)
view.clearFocus()
}
override fun onStart() {
super.onStart()
if (Chat.INSTANCE.providers()?.connectionProvider()?.connectionStatus == ConnectionStatus.DISCONNECTED) {
hideKeyboard()
}
}
}
を確認してください connectionStatus
に onStart
コールバックし、チャットがステータスにあるかどうかを確認します ConnectionStatus.DISCONNECTED
は、 MessagingActivity
が却下され、インテグレータが hideKeyboard
。
翻訳に関する免責事項:この記事は、お客様の利便性のために自動翻訳ソフトウェアによって翻訳されたものです。Zendeskでは、翻訳の正確さを期すために相応の努力を払っておりますが、翻訳の正確性については保証いたしません。
翻訳された記事の内容の正確性に関して疑問が生じた場合は、正式版である英語の記事を参照してください。