Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // добавляем выше onCreate
- private lateinit var launcher: ActivityResultLauncher<Intent>
- // вызываем в onCreate
- initResult()
- // реализовываем
- private fun initResult() {
- launcher =
- registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result: ActivityResult ->
- if (result.resultCode == RESULT_OK) {
- val res: ArrayList<String> =
- result.data?.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS) as ArrayList<String>
- val resultStr = Objects.requireNonNull(res)[0]
- requestInput.setText(resultStr)
- askWolfram(resultStr)
- }
- }
- }
- // диалог
- private fun showVoiceInputDialog() {
- val language = "us-US"
- val intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH).apply {
- putExtra(
- RecognizerIntent.EXTRA_LANGUAGE_MODEL,
- language)
- putExtra(RecognizerIntent.EXTRA_PROMPT, getString(R.string.request_hint))
- putExtra(RecognizerIntent.EXTRA_LANGUAGE, language)
- }
- runCatching {
- launcher.launch(intent)
- }.onFailure { t ->
- showSnackbar(t.message ?: getString(R.string.error_voice_recognition_unavailable))
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement