Метод setAction
Метод setAction класса
Intent
указывает, что система должна сделать.
Частые константы перечислены в таблице значений
на странице Intent, например ACTION_VIEW.
В Kotlin часто пишут
Intent(Intent.ACTION_VIEW)
в конструкторе вместо setAction.
Синтаксис
intent.setAction(Intent.ACTION_VIEW)
Параметры
| Параметр | Описание |
|---|---|
action |
Строка действия, обычно константа Intent. |
Пример
Давайте откроем набор номера через ACTION_DIAL:
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Button
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Button(onClick = {
val intent = Intent(Intent.ACTION_DIAL).apply {
data = Uri.parse("tel:12345")
}
startActivity(intent)
}) {
Text(text = "abcde")
}
}
}
}
На экране кнопка "abcde" откроет приложение
телефона с набранным номером.
Пример
Давайте отправим текст через ACTION_SEND:
import android.content.Intent
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Button
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Button(onClick = {
val intent = Intent(Intent.ACTION_SEND).apply {
type = "text/plain"
putExtra(Intent.EXTRA_TEXT, "12345")
}
startActivity(Intent.createChooser(intent, "abcde"))
}) {
Text(text = "12345")
}
}
}
}
На экране появится выбор приложения
для отправки текста "12345".
Смотрите также
-
класс
Intent,
таблица частых ACTION_* -
метод
setData,
который задаёт Uri для действия -
метод
addCategory,
который уточняет неявный intent -
метод
startActivity,
запуск intent с действием