티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

How do I get the dialer to open with phone number displayed?

전화 걸기 앱에서 특정 전화번호가 표시되도록 하려면 어떻게 하나요?

 문제 내용 

I don't need to call the phone number, I just need the dialer to open with the phone number already displayed. What Intent should I use to achieve this?

전화를 걸 필요는 없이, 전화 번호가 이미 표시된 상태에서 다이얼러를 열기만 하면 됩니다. 이를 위해 어떤 Intent를 사용해야 하나요?

 

 

 

 높은 점수를 받은 Solution 

Two ways to achieve it.

두 가지 방법이 있습니다.

 

1) Need to start the dialer via code, without user interaction.

1. 사용자 상호작용 없이 코드로 다이얼러를 시작해야합니다.

 

You need Action_Dial,

"Action_Dial"이 필요합니다.

 

use below code it will open Dialer with number specified

아래 코드를 사용하면 지정된 전화번호와 함께 다이얼러가 열립니다.
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent); 

 

The 'tel:' prefix is required, otherwhise the following exception will be thrown: java.lang.IllegalStateException: Could not execute method of the activity.

'tel:' 접두어가 필요하며, 그렇지 않으면 다음 예외가 발생합니다: java.lang.IllegalStateException: Could not execute method of the activity.

 

Action_Dial doesn't require any permission.

Action_Dial은 어떤 권한(permission)도 필요하지 않습니다.

 

If you want to initiate the call directly without user's interaction , You can use action Intent.ACTION_CALL. In this case, you must add the following permission in your AndroidManifest.xml:

사용자의 상호작용 없이 직접 전화를 걸고 싶은 경우, Intent.ACTION_CALL을 사용할 수 있습니다. 이 경우, AndroidManifest.xml에 다음 권한을 추가해야 합니다.
<uses-permission android:name="android.permission.CALL_PHONE" />

 

2) Need user to click on Phone_Number string and start the call.

2. 사용자가 전화번호 문자열을 클릭하고 전화를 거는 방법입니다.
android:autoLink="phone" 

 

You need to use TextView with below property.

아래 속성을 가진 TextView를 사용해야 합니다.

 

android:autoLink="phone" android:linksClickable="true" a textView property

아래와 같은 속성을 가진 TextView를 사용해야 합니다.
android:autoLink="phone"
android:linksClickable="true"

 

You don't need to use intent or to get permission via this way.

이 방법으로는 인텐트를 사용하거나 권한을 얻을 필요가 없습니다.

 

 

 

 가장 최근 달린 Solution 

Okay, it is going to be extremely late answer to this question. But here is just one sample if you want to do it in Kotlin.

알겠습니다. 이 질문에 대한 답변을 하는 것은 매우 늦었지만, Kotlin으로 수행하는 예시를 하나 드리겠습니다.
val intent = Intent(Intent.ACTION_DIAL)
intent.data = Uri.parse("tel:<number>")
startActivity(intent)

 

Thought it might help someone.

혹시 도움이 될까하여 작성해보았습니다.

 

 

 

출처 : https://stackoverflow.com/questions/11699819/how-do-i-get-the-dialer-to-open-with-phone-number-displayed

반응형
댓글
공지사항
최근에 올라온 글