Notice
Recent Posts
Recent Comments
Tags
- 하드 윈도우 복사
- javascript 바코드 생성
- php 캐쉬제거
- asp.net dropdownlist
- ASP.Net Core 404
- 하드 마이그레이션
- XSS PHP
- 말줄임표시
- javascript 유효성체크
- 바코드 생성하기
- jquery 바코드생성
- javascript redirection
- jquery 바코드
- SSD 복사
- Mac Oracle
- 강제이동
- 바코드 스캔하기
- ViewBag
- TempData
- django 엑셀불러오기
- 타임피커
- 파일업로드 체크
- 파일업로드 유효성체크
- 맥 오라클설치
- asp.net core Select
- asp.net Select
- XSS방어
- javascript 바코드스캔
- ViewData
- 404에러페이지
웹개발자의 기지개
[안드로이드] WebView 전화걸기 기능 구현 본문
WebView 가 올려진 하이브리드앱상에서 전화 바로걸기 기능을 구현해 본다.
1. AndroidManifest.xml 에서 아래의 권한 소스를 추가한다.
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.DIAL_PHONE" />
CALL_PHONE 은 전화 바로 걸기
DIAL_PHONE 은 전화걸기전 전화번호가 표시된상태로 나오는 형태 -> 통화버튼을 누르면 통화가 된다.
2. MainActivity.java 소스내
HTML 코드상에서 <a href="tel:010-123-4567"> 형태로 나오는 부분을 클릭시
아래의 오버라이드한 shouldOverrideUrlLoading() 함수부분중에서
Intent call_phone = new Intent(Intent.ACTION_CALL); 처럼 인텐트 처리를 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
//Log.d("WebViewClient URL : ", request.getUrl().toString());
//view.loadUrl(request.getUrl().toString());
String url = request.getUrl().toString();
if (url.startsWith("tel:")) {
if (checkSelfPermission(Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
Toast.makeText(getApplicationContext(),"전화걸기 권한을 승인해 주셔야 정상적인 서비스가 가능합니다.",Toast.LENGTH_SHORT).show();
return true;
}
Intent call_phone = new Intent(Intent.ACTION_CALL);
call_phone.setData(Uri.parse(url));
// call_phone.addCategory("android.intent.category.BROWSABLE");
// call_phone.setComponent(null);
// call_phone.setSelector(null);
startActivity(call_phone);
}
return true;
}
|
cs |
'안드로이드' 카테고리의 다른 글
[안드로이드] 구글 Firebase Push 알림 최신 기능 업데이트 - Android 13 이상시 Push 안되는 현상 해결법 (0) | 2023.01.20 |
---|---|
[안드로이드] 구글 Firebase Push 알림 최신 기능 업데이트 - Android 12 이상시 Push 안되는 현상 해결법 (0) | 2023.01.09 |
[안드로이드] 안드로이드와 javascript 정보교환하기 - token 저장하고 불러오기 (push 푸시 구현시 필요) (0) | 2022.11.14 |
[안드로이드] 타이틀바 없애기 (0) | 2022.10.07 |
[안드로이드] Dialog 다이얼로그 창 - 전체화면으로 새창 띄우기 (0) | 2022.10.07 |
Comments