일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- akka 강좌
- Akka
- play 강좌
- Play2
- 주키퍼
- 파이썬
- Hyperledger fabric gossip protocol
- 스위프트
- 스칼라
- Actor
- 그라파나
- 스칼라 강좌
- 파이썬 동시성
- 엔터프라이즈 블록체인
- 플레이프레임워크
- 이더리움
- hyperledger fabric
- CORDA
- 하이퍼레저 패브릭
- 하이브리드앱
- play2 강좌
- Golang
- 블록체인
- 파이썬 강좌
- 파이썬 데이터분석
- 파이썬 머신러닝
- 안드로이드 웹뷰
- Adapter 패턴
- 스칼라 동시성
- Play2 로 웹 개발
- Today
- Total
HAMA 블로그
[안드로이드 웹뷰] 웹에서 네이티브앱의 액티비티 호출하기 본문
첫째. 웹과 상호통신을 하기위해 WebViewInterface 클래스 만들기
public class WebViewInterface {
private WebView mWebView;
private Activity mContext;
private final Handler handler = new Handler();
public WebViewInterface(Activity activity, WebView view) {
mWebView = view;
mContext = activity;
}
@JavascriptInterface
public void callSettingsActivity(final String message) {
Toast.makeText(mContext, "settings in ...", Toast.LENGTH_LONG).show();
Intent intent = new Intent(mContext, SettingsActivity.class);
mContext.startActivity(intent);
}
}
- 웹에서 callSettingsActivity 함수를 호출하면 인텐트를 통해 SettingsActivity 를 시작한다.
둘째. 웹뷰와 인터페이스클래스와 연결해주기
mWebViewInterface = new WebViewInterface(MainActivity.this, webView);
webView.addJavascriptInterface(mWebViewInterface, "android");
- 생성자로 this 넘기고 webView 를 넘겨준다.
- webView 에 인터페이스 객체의 alias 로 "android" 를 설정한다.
셋째. 웹페이지 상에 자바스크립트 함수 만들기
- TEST.HTML -
function callActivity1(){
if(window.android){
console.info("android");
window.android.callSettingsActivity(number.value);
}
else{
console.info("web");
document.form.submit();
}
}
}
- callActivity 함수가 호출되면 "android" 가 정의되있으면 네이티브앱쪽으로 호출하고, 아니면 웹서버로 호
출하는 코드
'안드로이드' 카테고리의 다른 글
비트맵 버튼 만들기 (0) | 2015.08.22 |
---|---|
[안드로이드 웹뷰] 파일 시스템으로 부터 HTML 로딩 (0) | 2015.08.21 |
[안드로이드 웹뷰] 돌아가기 버튼 핸들링 (0) | 2015.08.21 |
[안드로이드 웹뷰] 네비게이션 핸들링 (0) | 2015.08.21 |
안드로이드 제목바(타이틀바) 없애기 (0) | 2015.07.31 |