[Android/Kotlin] 다른 앱으로 간단한 데이터 보내기 + 오류(작업을 수행할 수 있는 앱이 없습니다)
다른 앱으로 간단한 데이터 보내기
[Developer 다른 앱으로 간단한 데이터 보내기 ⬅︎ 클릭!!]
- 미리보기
- 참조한 코드
val share = Intent.createChooser(Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, "https://developer.android.com/training/sharing/")
// (Optional) Here we're setting the title of the content
putExtra(Intent.EXTRA_TITLE, "Introducing content previews")
// (Optional) Here we're passing a content URI to an image to be displayed
data = contentUri
flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
}, null)
startActivity(share)
- Developer에 있는 코드 중 다음의 코드를 참고하였고 내 프로젝트 앱의 형식에 맞게 재구현 해주었다.
- 위의 코드를 그대로 실행하였을 때 “작업을 수행할 수 있는 앱이 없습니다” 라는 오류가 떴는데 이는 type을 지정해주지 않아서 발생한 오류였다.
- 따라서
type = "text/plain"
이 코드를 추가해주니까 정상적으로 작동하였다 :)
fun shareUrl(context: Context, url : String){
val share = Intent.createChooser(Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, url)
// (Optional) Here we're setting the title of the content
putExtra(Intent.EXTRA_TITLE, "YOUTUBE URL")
// (Optional) Here we're passing a content URI to an image to be displayed
data = Uri.parse(url)
type = "text/plain"
flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
}, null)
context.startActivity(share)
}
- 또한 Util 함수로 따로 빼주고 싶어 Context와 Url을 넘겨서 작업해주었다.