투케이2K

459. (kotlin/코틀린) 안드로이드 Intent.createChooser 사용해 텍스트 (text) 파일 공유 기능 구현 - Intent.ACTION_SEND 본문

Kotlin

459. (kotlin/코틀린) 안드로이드 Intent.createChooser 사용해 텍스트 (text) 파일 공유 기능 구현 - Intent.ACTION_SEND

투케이2K 2024. 1. 30. 20:21

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [sharedDifSystemTextString] : 다른 시스템에 String 텍스트 공유 수행
        // -----------------------------------------------------------------------------------------
        fun sharedDifSystemTextString(mContext: Context, data: String) {

            /**
             * // -----------------------------------------
             * [sharedDifSystemTextString 메소드 설명]
             * // -----------------------------------------
             * 1. 다른 시스템에 String 텍스트 공유 수행
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.sharedDifSystemTextString(A_Intro@this, "hello twok");
             * // -----------------------------------------
             */

            try {

                if (C_Util.stringNotNull(data) === true) {
                    // ===============================================================
                    S_Log._F_(mContext, "다른 시스템에 String 텍스트 공유 수행 인텐트 이동 수행", null)
                    // ===============================================================

                    // [인텐트 ACTION_SEND 사용해 공유하기 사용]
                    val intent = Intent(Intent.ACTION_SEND)
                    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                    intent.type = "text/plain" // [전송 데이터 타입]
                    intent.putExtra(Intent.EXTRA_TEXT, data) // [데이터 전송 수행]
                    mContext.startActivity(Intent.createChooser(intent, "Shared Text"))

                } else {
                    // ===============================================================
                    S_Log._F_(mContext, "다른 시스템에 String 텍스트 공유 수행 인텐트 이동 실패 : Input Data Is Null", null)
                    // ===============================================================
                }

            } catch (e: Exception) {
                S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e)
            }
        }

 

반응형
Comments