티스토리 뷰
첫째. 웹과 상호통신을 하기위해 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 |
- Total
- Today
- Yesterday
- 파이썬 강좌
- Golang
- 파이썬 데이터분석
- 하이퍼레저 패브릭
- play2 강좌
- 파이썬 머신러닝
- Adapter 패턴
- 파이썬
- hyperledger fabric
- Hyperledger fabric gossip protocol
- Actor
- Akka
- 파이썬 동시성
- Play2 로 웹 개발
- 안드로이드 웹뷰
- Play2
- 하이브리드앱
- 주키퍼
- 이더리움
- CORDA
- play 강좌
- 스칼라
- 블록체인
- 엔터프라이즈 블록체인
- 스위프트
- 스칼라 동시성
- akka 강좌
- 그라파나
- 플레이프레임워크
- 스칼라 강좌
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |