Как заменить начало действия Intent(Intent.ACTION_SENDTO) на org.jetbrains.anko.startActivity?

Я прочитал статью https://github.com/Kotlin/anko/wiki/Anko-Commons-%E2%80%93-Intents

Код A - открыть действие отправки электронной почты, я надеюсь заменить его на org.jetbrains.anko.startActivity, как мне это сделать? Спасибо!

Код А

fun sendFeedbackByEmail(mContext: Context) {
    val data = Intent(Intent.ACTION_SENDTO)
    data.data = Uri.parse("mailto:" + mContext.getString(R.string.FeedbackEmailAddress))
    data.putExtra(Intent.EXTRA_SUBJECT, mContext.getString(R.string.FeedbackEmailSubject))
    data.putExtra(Intent.EXTRA_TEXT, mContext.getString(R.string.FeedbackEmailFirstContent))
    mContext.startActivity(data)
}

person HelloCW    schedule 26.03.2018    source источник


Ответы (1)


Вы не должны пытаться заменить его функцией startActivity. В Anko есть функция. Это происходит так

email(email, [subject], [text])

Аргументы в квадратных скобках ([]) необязательны. Методы возвращают true, если намерение было отправлено.

Вы можете назвать это как

email("[email protected]","Your Subject","Your Text")

Прямо сейчас у них нет функции, позволяющей отправлять одно и то же электронное письмо на несколько идентификаторов электронной почты. Вы должны сделать еще один звонок.

Anki достигает этого путем написания расширения над классами Context и Fragment. Таким образом, эта функция доступна как для действия, так и для функции.

person Hardik Trivedi    schedule 26.03.2018
comment
Спасибо! как мне писать код, если я использую org.jetbrains.anko.startActivity? - person HelloCW; 27.03.2018
comment
Почему вы хотите использовать startActivity от Anko, когда у вас есть функция расширения? - person Hardik Trivedi; 04.04.2018