투케이2K

113. (TWOK/UTIL) [Android/kotlin] C_Intent - 인텐트 (settings) , 애플리케이션 , 메일 , 문자 , 전화 , 링크 설정창 이동 클래스 본문

투케이2K 유틸파일

113. (TWOK/UTIL) [Android/kotlin] C_Intent - 인텐트 (settings) , 애플리케이션 , 메일 , 문자 , 전화 , 링크 설정창 이동 클래스

투케이2K 2022. 12. 15. 22:20

[설 명]

프로그램 : Android / Kotlin

설 명 : C_Intent - 인텐트 (settings) , 애플리케이션 , 메일 , 문자 , 전화 , 링크 설정창 이동 클래스

 

[소스 코드]

 

package com.example.kotlinproject

import android.content.Context
import android.content.Intent
import android.net.Uri
import android.provider.Settings
import android.util.Log

class C_Intent {


    /**
     * // -----------------------------------------
     * TODO [클래스 설명]
     * // -----------------------------------------
     * 1. 모바일 설정, 애플리케이션 설정 인텐트 이동 클래스
     * // -----------------------------------------
     * 2. 인텐트 (settings) , 애플리케이션 , 메일 , 문자 , 전화 , 링크 설정창 이동 클래스
     * // -----------------------------------------
     * */





    // TODO [빠른 로직 찾기 : 주석 로직 찾기]
    /**
     * // -----------------------------------------
     * // [SEARCH FAST] : [goBleSettingsIntent] : 블루투스 (bluetooth) 설정창 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goGpsSettingsIntent] : GPS 위치 설정창 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goMobileSettingsIntent] : 모바일 기본 설정창 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goWifiIntent] : 모바일 와이파이 (wifi) 설정창 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goApplicationIntent] : 애플리케이션 설정창 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goNfcIntent] : NFC 설정창 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goDisplayIntent] : 디스플레이 설정창 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goSoundIntent] : 사운드 (sound) 설정창 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goDeviceInfoIntent] : 휴대전화 정보 설정창 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goMailIntent] : 메일 (mail) 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goTelIntent] : 전화 (tel) 다이얼 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goSmsIntent] : SMS 문자 이동
     * // -----------------------------------------
     * // [SEARCH FAST] : [goLinkIntent] : 하이퍼링크 이동
     * // -----------------------------------------
     */





    // TODO [companion object >> static 선언 실시]
    companion object {


        // TODO [SEARCH FAST] : [goBleSettingsIntent] : 블루투스 (bluetooth) 설정창 이동
        fun goBleSettingsIntent(mContext: Context) {

            /**
             * // -----------------------------------------
             * [goBleSettingsIntent 메소드 설명]
             * // -----------------------------------------
             * 1. 블루투스 (bluetooth) 설정창 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goBleSettingsIntent(this@A_Intro)
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {
                //*
                Log.i("---","---" + "\n")
                Log.d("//===========//","================================================")
                Log.i("","\n"+"[C_Intent >> goBleSettingsIntent() :: 블루투스 (bluetooth) 설정창 이동 실시]")
                Log.d("//===========//","================================================")
                Log.i("---","---" + "\n")
                // */

                // [모바일 블루투스 설정창 이동 실시]
                val go_ble = Intent(Settings.ACTION_BLUETOOTH_SETTINGS)
                go_ble.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                mContext.startActivity(go_ble)
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goGpsSettingsIntent] : GPS 위치 설정창 이동
        fun goGpsSettingsIntent(mContext: Context) {

            /**
             * // -----------------------------------------
             * [goGpsSettingsIntent 메소드 설명]
             * // -----------------------------------------
             * 1. GPS 위치 설정창 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goGpsSettingsIntent(this@A_Intro)
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {
                //*
                Log.i("---","---" + "\n")
                Log.d("//===========//","================================================")
                Log.i("","\n"+"[C_Intent >> goGpsSettingsIntent() :: GPS 위치 설정창 이동 실시]")
                Log.d("//===========//","================================================")
                Log.i("---","---" + "\n")
                // */

                // [모바일 위치 설정창 이동 실시]
                val go_gps = Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)
                go_gps.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                mContext.startActivity(go_gps)
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goMobileSettingsIntent] : 모바일 기본 설정창 이동
        fun goMobileSettingsIntent(mContext: Context) {

            /**
             * // -----------------------------------------
             * [goMobileSettingsIntent 메소드 설명]
             * // -----------------------------------------
             * 1. 모바일 기본 설정창 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goMobileSettingsIntent(this@A_Intro)
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {
                //*
                Log.i("---","---" + "\n")
                Log.d("//===========//","================================================")
                Log.i("","\n"+"[C_Intent >> goMobileSettingsIntent() :: 모바일 기본 설정창 이동 실시]")
                Log.d("//===========//","================================================")
                Log.i("---","---" + "\n")
                // */

                // [모바일 기본 설정창 이동 실시]
                val intent = Intent(Settings.ACTION_SETTINGS)
                intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                mContext.startActivity(intent)
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goWifiIntent] : 모바일 와이파이 (wifi) 설정창 이동
        fun goWifiIntent(mContext: Context) {

            /**
             * // -----------------------------------------
             * [goWifiIntent 메소드 설명]
             * // -----------------------------------------
             * 1. 모바일 기본 설정창 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goWifiIntent(this@A_Intro)
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {
                //*
                Log.i("---","---" + "\n")
                Log.d("//===========//","================================================")
                Log.i("","\n"+"[C_Intent >> goWifiIntent() :: 모바일 와이파이 (wifi) 설정창 이동 실시]")
                Log.d("//===========//","================================================")
                Log.i("---","---" + "\n")
                // */

                // [모바일 와이파이 설정창 이동 실시]
                val intent = Intent(Settings.ACTION_WIFI_SETTINGS)
                intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                mContext.startActivity(intent)
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goApplicationIntent] : 애플리케이션 설정창 이동
        fun goApplicationIntent(mContext: Context) {

            /**
             * // -----------------------------------------
             * [goApplicationIntent 메소드 설명]
             * // -----------------------------------------
             * 1. 애플리케이션 설정창 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goApplicationIntent(this@A_Intro)
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {
                //*
                Log.i("---","---" + "\n")
                Log.d("//===========//","================================================")
                Log.i("","\n"+"[C_Intent >> goApplicationIntent() :: 애플리케이션 설정창 이동 실시]")
                Log.d("//===========//","================================================")
                Log.i("---","---" + "\n")
                // */

                // [애플리케이션 설정창 이동]
                val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
                intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                val uri = Uri.fromParts("package", mContext.packageName, null)
                intent.data = uri
                mContext.startActivity(intent)
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goNfcIntent] : NFC 설정창 이동
        fun goNfcIntent(mContext: Context) {

            /**
             * // -----------------------------------------
             * [goNfcIntent 메소드 설명]
             * // -----------------------------------------
             * 1. NFC 설정창 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goNfcIntent(this@A_Intro)
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {
                //*
                Log.i("---","---" + "\n")
                Log.d("//===========//","================================================")
                Log.i("","\n"+"[C_Intent >> goNfcIntent() :: NFC 설정창 이동 실시]")
                Log.d("//===========//","================================================")
                Log.i("---","---" + "\n")
                // */

                // [NFC 설정창 이동 실시]
                val intent = Intent(Settings.ACTION_NFC_SETTINGS)
                intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                mContext.startActivity(intent)
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goDisplayIntent] : 디스플레이 설정창 이동
        fun goDisplayIntent(mContext: Context) {

            /**
             * // -----------------------------------------
             * [goDisplayIntent 메소드 설명]
             * // -----------------------------------------
             * 1. 디스플레이 설정창 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goDisplayIntent(this@A_Intro)
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {
                //*
                Log.i("---","---" + "\n")
                Log.d("//===========//","================================================")
                Log.i("","\n"+"[C_Intent >> goDisplayIntent() :: 디스플레이 설정창 이동 실시]")
                Log.d("//===========//","================================================")
                Log.i("---","---" + "\n")
                // */

                // [디스플레이 설정창 이동 실시]
                val intent = Intent(Settings.ACTION_DISPLAY_SETTINGS)
                intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                mContext.startActivity(intent)
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goSoundIntent] : 사운드 (sound) 설정창 이동
        fun goSoundIntent(mContext: Context) {

            /**
             * // -----------------------------------------
             * [goSoundIntent 메소드 설명]
             * // -----------------------------------------
             * 1. 사운드 (sound) 설정창 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goSoundIntent(this@A_Intro)
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {
                //*
                Log.i("---","---" + "\n")
                Log.d("//===========//","================================================")
                Log.i("","\n"+"[C_Intent >> goSoundIntent() :: 사운드 (sound) 설정창 이동 실시]")
                Log.d("//===========//","================================================")
                Log.i("---","---" + "\n")
                // */

                // [모바일 사운드 설정창 이동]
                val intent = Intent(Settings.ACTION_SOUND_SETTINGS)
                intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                mContext.startActivity(intent)
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goDeviceInfoIntent] : 휴대전화 정보 설정창 이동
        fun goDeviceInfoIntent(mContext: Context) {

            /**
             * // -----------------------------------------
             * [goDeviceInfoIntent 메소드 설명]
             * // -----------------------------------------
             * 1. 휴대전화 정보 설정창 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goDeviceInfoIntent(this@A_Intro)
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {
                //*
                Log.i("---","---" + "\n")
                Log.d("//===========//","================================================")
                Log.i("","\n"+"[C_Intent >> goDeviceInfoIntent() :: 휴대전화 정보 설정창 이동 실시]")
                Log.d("//===========//","================================================")
                Log.i("---","---" + "\n")
                // */

                // [휴대전화 정보 설정창 이동 실시]
                val intent = Intent(Settings.ACTION_DEVICE_INFO_SETTINGS)
                intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                mContext.startActivity(intent)
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goMailIntent] : 메일 (mail) 이동
        fun goMailIntent(mContext: Context, data: String) {

            /**
             * // -----------------------------------------
             * [goMailIntent 메소드 설명]
             * // -----------------------------------------
             * 1. 메일 (mail) 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goMailIntent(this@A_Intro, "mailto:honggildung@test.com?subject=tittle&body=content")
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {

                // [데이터 널 체크 실시]
                if (C_Util.stringNotNull(data) == true && data.startsWith("mailto:") == true){
                    //*
                    Log.i("---","---" + "\n")
                    Log.d("//===========//","================================================")
                    Log.i("","\n"+"[C_Intent >> goMailIntent() :: 메일 (mail) 이동 실시]")
                    Log.i("","\n"+"[data :: "+ data +"]")
                    Log.d("//===========//","================================================")
                    Log.i("---","---" + "\n")
                    // */

                    // [메일 이동 실시]
                    val mail_intent = Intent(Intent.ACTION_VIEW, Uri.parse(data))
                    mail_intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                    mContext.startActivity(mail_intent)
                }
                else {
                    //*
                    Log.i("---","---" + "\n")
                    Log.e("//===========//","================================================")
                    Log.i("","\n"+"[C_Intent >> goMailIntent() :: 메일 (mail) 이동 실패]")
                    Log.i("","\n"+"[error :: "+ "데이터 null 임" +"]")
                    Log.e("//===========//","================================================")
                    Log.i("---","---" + "\n")
                    // */
                }
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goTelIntent] : 전화 (tel) 다이얼 이동
        fun goTelIntent(mContext: Context, data: String) {

            /**
             * // -----------------------------------------
             * [goTelIntent 메소드 설명]
             * // -----------------------------------------
             * 1. 전화 다이얼 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goTelIntent(this@A_Intro, "tel:010-1234-5678")
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {

                // [데이터 널 체크 실시]
                if (C_Util.stringNotNull(data) == true && data.startsWith("tel:") == true){
                    //*
                    Log.i("---","---" + "\n")
                    Log.d("//===========//","================================================")
                    Log.i("","\n"+"[C_Intent >> goTelIntent() :: 전화 다이얼 이동 실시]")
                    Log.i("","\n"+"[data :: "+ data +"]")
                    Log.d("//===========//","================================================")
                    Log.i("---","---" + "\n")
                    // */

                    // [전화 다이얼 이동 실시]
                    val tel_intent = Intent(Intent.ACTION_VIEW, Uri.parse(data))
                    tel_intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                    mContext.startActivity(tel_intent)
                }
                else {
                    //*
                    Log.i("---","---" + "\n")
                    Log.e("//===========//","================================================")
                    Log.i("","\n"+"[C_Intent >> goTelIntent() :: 전화 다이얼 이동 실패]")
                    Log.i("","\n"+"[error :: "+ "데이터 null 임" +"]")
                    Log.e("//===========//","================================================")
                    Log.i("---","---" + "\n")
                    // */
                }
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goSmsIntent] : SMS 문자 이동
        fun goSmsIntent(mContext: Context, data: String) {

            /**
             * // -----------------------------------------
             * [goSmsIntent 메소드 설명]
             * // -----------------------------------------
             * 1. SMS 문자 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goSmsIntent(this@A_Intro, "sms:010-5678-1234")
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {

                // [데이터 널 체크 실시]
                if (C_Util.stringNotNull(data) == true && data.startsWith("sms:") == true){
                    //*
                    Log.i("---","---" + "\n")
                    Log.d("//===========//","================================================")
                    Log.i("","\n"+"[C_Intent >> goSmsIntent() :: SMS 문자 이동 실시]")
                    Log.i("","\n"+"[data :: "+ data +"]")
                    Log.d("//===========//","================================================")
                    Log.i("---","---" + "\n")
                    // */

                    // [전화 다이얼 이동 실시]
                    val tel_intent = Intent(Intent.ACTION_VIEW, Uri.parse(data))
                    tel_intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                    mContext.startActivity(tel_intent)
                }
                else {
                    //*
                    Log.i("---","---" + "\n")
                    Log.e("//===========//","================================================")
                    Log.i("","\n"+"[C_Intent >> goSmsIntent() :: SMS 문자 이동 실패]")
                    Log.i("","\n"+"[error :: "+ "데이터 null 임" +"]")
                    Log.e("//===========//","================================================")
                    Log.i("---","---" + "\n")
                    // */
                }
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }





        // TODO [SEARCH FAST] : [goLinkIntent] : 하이퍼링크 이동
        fun goLinkIntent(mContext: Context, data: String) {

            /**
             * // -----------------------------------------
             * [goLinkIntent 메소드 설명]
             * // -----------------------------------------
             * 1. 하이퍼링크 이동 메소드
             * // -----------------------------------------
             * 2. 호출 방법 : C_Intent.goLinkIntent(this@A_Intro, "l:https://www.naver.com")
             * // -----------------------------------------
             * */


            // [로직 처리 실시]
            try {

                // [데이터 널 체크 실시]
                if (C_Util.stringNotNull(data) == true && data.startsWith("l:") == true && data.contains("http") == true){
                    //*
                    Log.i("---","---" + "\n")
                    Log.d("//===========//","================================================")
                    Log.i("","\n"+"[C_Intent >> goLinkIntent() :: 하이퍼링크 이동 실시]")
                    Log.i("","\n"+"[data :: "+ data +"]")
                    Log.d("//===========//","================================================")
                    Log.i("---","---" + "\n")
                    // */

                    // [하이퍼링크 이동 실시]
                    val link_intent = Intent(Intent.ACTION_VIEW, Uri.parse(data.substring(2))) // l: [2글자 자름]
                    link_intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
                    mContext.startActivity(link_intent)
                }
                else {
                    //*
                    Log.i("---","---" + "\n")
                    Log.e("//===========//","================================================")
                    Log.i("","\n"+"[C_Intent >> goLinkIntent() :: 하이퍼링크 이동 실패]")
                    Log.i("","\n"+"[error :: "+ "데이터 null 임" +"]")
                    Log.e("//===========//","================================================")
                    Log.i("---","---" + "\n")
                    // */
                }
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }



    } // [companion 종료]

    
} // TODO [클래스 종료]

 


 

반응형
Comments