【안드로이드 스튜디오】 앱에서 메일러를 시작하는 방법이 바뀌었기 때문에 대응했다 [Kotlin]
6203 단어 AndroidStudioKotlin
[ 만들면 알 수 있다! Android 프로그래밍 Kotlin 대응 10의 실천 샘플로 배우는 Android 앱 개발 입문 ]
【환경】
Mac OS Catalina 10.15.7
Android Studio 4.0.1
【한 일】
교본에 실리고 싶은 방법은 이쪽. (문의 내용은 변경하고 있습니다)
MainActivity.ktval subject = "${getString(R.string.app_name)}から送信します"
val text = "本文です。"
val uri = Uri.fromParts("mailto","[email protected]", null)
val intent=Intent(Intent.ACTION_SENDTO,uri)
intent.putExtra(Intent.EXTRA_SUBJECT,subject)
intent.putExtra(Intent.EXTRA_TEXT,text)
if(intent.resolveActivity(packageManager)!=null){
startActivity(intent)
}
실제 기계로 실행해도 메일러를 시작할 수 없습니다 ...
조사해 보면, 같은 증상에 대해서 쓰여져 있는 분을 발견했습니다.
[ 어느새 메일러를 기동하는 Intent의 추천 형식이 바뀌어서 제목이나 본문이 입력되지 않아서 대응했다 ]
그 밖에도.
분명한 문서는 없습니다만, API29라고 할까 Android 10부터 Intent의 취급이 크게 바뀐 것 같습니다. 이 메일러는 Intent에서 쉽게 메일을 보내는 방법이므로 이전 방법과 다릅니다.
Android 앱에 mailer 호출 설정
개발자 가이드를 읽어 보면 확실히 쓰는 방법이 바뀌 었습니다.
htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m / 구이데 / 코 m 포넨 ts / 닌텐 ts - 콘몬? hl=그럼 #ゔぃえw 이런 ct
가이드를 참고로 수정한 내용이 이쪽입니다.
MainActivity.ktval intent = Intent(Intent.ACTION_SENDTO).apply {
data = Uri.parse("mailto:")//メールアプリのみで処理したい時に記述
val subject = "${getString(R.string.app_name)}から送信します"
val text = "本文です。"
putExtra(Intent.EXTRA_EMAIL, arrayOf( "[email protected]" ))//第二引数はArrayにしないと入力されないので注意
putExtra(Intent.EXTRA_SUBJECT, subject)
putExtra(Intent.EXTRA_TEXT,text)
}
if(intent.resolveActivity(packageManager)!=null) {//インテントを処理できるアプリが存在するか確認
tartActivity(intent)//処理するアプリがいないのにstartActivityするとアプリが強制終了するので注意
}
【결과】
메일러를 시작할 수 있습니다!
( "Our Menu"는 앱 이름입니다)
Reference
이 문제에 관하여(【안드로이드 스튜디오】 앱에서 메일러를 시작하는 방법이 바뀌었기 때문에 대응했다 [Kotlin]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maqiita/items/f0fc5aaaa1becd4da823
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
교본에 실리고 싶은 방법은 이쪽. (문의 내용은 변경하고 있습니다)
MainActivity.kt
val subject = "${getString(R.string.app_name)}から送信します"
val text = "本文です。"
val uri = Uri.fromParts("mailto","[email protected]", null)
val intent=Intent(Intent.ACTION_SENDTO,uri)
intent.putExtra(Intent.EXTRA_SUBJECT,subject)
intent.putExtra(Intent.EXTRA_TEXT,text)
if(intent.resolveActivity(packageManager)!=null){
startActivity(intent)
}
실제 기계로 실행해도 메일러를 시작할 수 없습니다 ...
조사해 보면, 같은 증상에 대해서 쓰여져 있는 분을 발견했습니다.
[ 어느새 메일러를 기동하는 Intent의 추천 형식이 바뀌어서 제목이나 본문이 입력되지 않아서 대응했다 ]
그 밖에도.
분명한 문서는 없습니다만, API29라고 할까 Android 10부터 Intent의 취급이 크게 바뀐 것 같습니다. 이 메일러는 Intent에서 쉽게 메일을 보내는 방법이므로 이전 방법과 다릅니다.
Android 앱에 mailer 호출 설정
개발자 가이드를 읽어 보면 확실히 쓰는 방법이 바뀌 었습니다.
htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m / 구이데 / 코 m 포넨 ts / 닌텐 ts - 콘몬? hl=그럼 #ゔぃえw 이런 ct
가이드를 참고로 수정한 내용이 이쪽입니다.
MainActivity.kt
val intent = Intent(Intent.ACTION_SENDTO).apply {
data = Uri.parse("mailto:")//メールアプリのみで処理したい時に記述
val subject = "${getString(R.string.app_name)}から送信します"
val text = "本文です。"
putExtra(Intent.EXTRA_EMAIL, arrayOf( "[email protected]" ))//第二引数はArrayにしないと入力されないので注意
putExtra(Intent.EXTRA_SUBJECT, subject)
putExtra(Intent.EXTRA_TEXT,text)
}
if(intent.resolveActivity(packageManager)!=null) {//インテントを処理できるアプリが存在するか確認
tartActivity(intent)//処理するアプリがいないのにstartActivityするとアプリが強制終了するので注意
}
【결과】
메일러를 시작할 수 있습니다!
( "Our Menu"는 앱 이름입니다)
Reference
이 문제에 관하여(【안드로이드 스튜디오】 앱에서 메일러를 시작하는 방법이 바뀌었기 때문에 대응했다 [Kotlin]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maqiita/items/f0fc5aaaa1becd4da823
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【안드로이드 스튜디오】 앱에서 메일러를 시작하는 방법이 바뀌었기 때문에 대응했다 [Kotlin]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/maqiita/items/f0fc5aaaa1becd4da823텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)