전화 번호가 표시된 상태에서 다이얼을 열려면 어떻게 해야 합니까?
전화번호를 부를 필요는 없고, 다이얼을 열어 전화번호가 표시된 상태로 해주시면 됩니다.무엇을Intent
제가 이것을 이루기 위해 사용해야 합니까?
그것을 달성하는 두 가지 방법.
사용자의 조작 없이 코드를 통해 다이어라를 시작해야 합니다.
필요합니다Action_Dial
,
아래 코드를 사용하면 번호가 지정된 다이얼을 엽니다.
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent);
'tel:' 접두사가 필요합니다. 그렇지 않으면 java.lang 예외가 발생합니다.잘못된 상태 예외: 활동의 메서드를 실행할 수 없습니다.
Action_Dial에는 권한이 필요하지 않습니다.
사용자의 개입 없이 직접 통화를 시작하려면 작업을 사용할 수 있습니다.Intent.ACTION_CALL
이 경우 AndroidManifest.xml에 다음 권한을 추가해야 합니다.
<uses-permission android:name="android.permission.CALL_PHONE" />
사용자가 Phone_Number 문자열을 클릭하고 통화를 시작해야 합니다.
android:autoLink="phone"
아래 속성과 함께 TextView를 사용해야 합니다.
안드로이드:autoLink="phone" 안드로이드:linkClickable="true" a textView 속성
이 방법을 통해 의도를 사용하거나 권한을 얻을 필요가 없습니다.
답이 꽤 늦었지만, 만약 당신이 있다면.TextView
당신이 전화번호를 보여주고 있다면, 당신은 의도를 다룰 필요가 전혀 없습니다, 당신은 그냥 XML 속성을 사용할 수 있습니다.android:autoLink="phone"
그러면 OS가 자동으로 시작합니다.ACTION_DIAL
의도.
좋아요, 이 질문에 대한 답변은 매우 늦을 것입니다.하지만 코틀린에서 하고 싶다면 여기 하나의 샘플이 있습니다.
val intent = Intent(Intent.ACTION_DIAL)
intent.data = Uri.parse("tel:<number>")
startActivity(intent)
누군가에게 도움이 될 거라고 생각했어요.
다음과 같이 Intent를 호출할 수 있습니다.
String number = "0123456789";
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + number));
startActivity(intent);
위에서 언급한 @ashishduh와 같이, 사용android:autoLink="phone
또한 좋은 해결책입니다.그러나 이 옵션에는 한 가지 단점이 있습니다. 모든 전화 번호 길이에서 작동하지 않습니다.예를 들어 11개 번호의 전화 번호는 이 옵션에서 사용할 수 없습니다.해결책은 전화번호 앞에 국가 코드를 붙이는 것입니다.
예:
08034448845
작동하지 않음
그렇지만+2348034448845
할 것이다
<TextView
android:id="@+id/phoneNumber"
android:autoLink="phone"
android:linksClickable="true"
android:text="+91 22 2222 2222"
/>
이렇게 하면 다이얼러에서 할당된 번호의 텍스트 레이블 편집을 직접 열 수 있습니다.
코틀린을 사용하는 사용자를 위한 도우미 기능:
fun openDialPad(context: Context, phoneNum: String) {
val intent = Intent(Intent.ACTION_DIAL)
intent.setData(Uri.parse("tel:$phoneNum"))
context.startActivity(intent)
}
언급URL : https://stackoverflow.com/questions/11699819/how-do-i-get-the-dialer-to-open-with-phone-number-displayed
'programing' 카테고리의 다른 글
선택한 항목을 맨 위에 표시하려면 RecyclerView 스크롤 (0) | 2023.08.05 |
---|---|
AJAX 리디렉션 딜레마, 리디렉션 URL을 가져오는 방법 또는 리디렉션 요청에 대한 속성을 설정하는 방법 (0) | 2023.08.05 |
Postgre를 마이그레이션하는 방법SQL 데이터베이스를 SQL Server 데이터베이스로 전환하시겠습니까? (0) | 2023.08.05 |
자바스크립트를 사용하여 파일을 읽고 쓰는 방법은 무엇입니까? (0) | 2023.07.31 |
CSS를 사용하여 어떻게 특정 번호의 아이를 얻을 수 있습니까? (0) | 2023.07.31 |