안드로이드 앱 개발

카카오톡 번호 팝업 다이얼로그 구현 - kotlin 본문

카테고리 없음

카카오톡 번호 팝업 다이얼로그 구현 - kotlin

스텝바이스텝안드로이드 2021. 5. 11. 00:11

전화번호를 눌렀을 때, 카카오톡처럼

 

해당 전화번호로

전화걸기, 문자보내기, 번호 복사 리스트 다이얼로그를 띄우고 처리하는 메소드

 

fun ShowAlertDialogWithListview() {
        val numberMethod: MutableList<String> = ArrayList()
        numberMethod.add("전화걸기")
        numberMethod.add("SMS 보내기")
        numberMethod.add("복사")

        //Create sequence of items
        val Animals: Array<String> = numberMethod.toTypedArray()
        val dialogBuilder = AlertDialog.Builder(this)
        dialogBuilder.setTitle(eachCustomer.customerNumber)
        dialogBuilder.setItems(Animals) { dialog, item ->
            val selectedText = Animals[item].toString() //Selected item in listview
            if (selectedText.startsWith("전화")) {
                val uri = Uri.parse("tel:${eachCustomer.customerNumber}")
                val intent = Intent(Intent.ACTION_DIAL, uri)
                startActivity(intent)
            } else if (selectedText.startsWith("SMS")) {
                val intent = Intent(Intent.ACTION_SENDTO)
                val uri = Uri.parse("sms:${eachCustomer.customerNumber}")
                intent.data = uri
                //                    intent.putExtra("sms_body", customer_number);
                startActivity(intent)
            } else {
                //클립보드에 문자열 저장하기
                val clipboard =
                    getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
                val clipData = ClipData.newPlainText("number data", eachCustomer.customerNumber)
                clipboard.setPrimaryClip(clipData)
                val toast = Toast.makeText(applicationContext, "복사하였습니다", Toast.LENGTH_SHORT)
                toast.setGravity(Gravity.TOP, 0, 500)
                toast.show()
            }
        }
        //Create alert dialog object via builder
        val alertDialogObject = dialogBuilder.create()
        //Show the dialog
        alertDialogObject.show()
    }