Notice
Recent Posts
Recent Comments
Link
투케이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 [클래스 종료]
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments