À¥ºäȸ鿡¼ ÀÓÀÇ µµ¸ÞÀÎÀ» Á¦¿ÜÇÑ »çÀÌÆ®´Â ¿ÜºÎ ºê¶ó¿ìÀú·Î |
|
|
 |
8³â Àü |
¾Æ·¡ÀÇ ÄÚµå´Â http://developer.android.com/guide/webapps/webview.html#HandlingNavigation ³»¿ëÀ» Âü°í·Î ÇÔ.
shouldOverrideUrlLoading() method¸¦ override ÇÔ.
1. Ŭ¸¯ÇÑ ¸µÅ©Á¤º¸¿¡¼ È£½ºÆ® µµ¸ÞÀÎ ÁÖ¼Ò¸¦ ÃßÃâ
2. È£½ºÆ® µµ¸ÞÀÎÀÌ ±âÁØ ¹®ÀÚ¿(ÀÓÀÇ µµ¸ÞÀÎ)º¸´Ù ÀÛÀ¸¸é ÀüÇô ´Ù¸¥ »çÀÌÆ®·Î °£ÁÖÇÏ°í ¿ÜºÎ ºê¶ó¿ìÀú¸¦ È£Ãâ
3. È£½ºÆ® µµ¸ÞÀΰú ±âÁØ ¹®ÀÚ¿À» ºñ±³Çؼ °°Àº µµ¸ÞÀÎÀ̶ó¸é, webview ³»¿¡¼ ÆäÀÌÁö ·ÎµåÇϰí, ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸é ¿ÜºÎ ºê¶ó¿ìÀú¸¦ È£Ãâ
¿©±â¼ Â÷¿ëÇÑ method´Â regionMatches() ÀÎÀÚ°ª¿¡ µû¶ó¼ µÎ°¡Áö ¹öÀüÀÌ Á¦°øÇϴµ¥, °¡´ÉÇÏ¸é ´ë¼Ò¹®ÀÚ ±¸ºÐÇÏÁö ¾Ê°Ô ó¸®ÇÏ´Â ¹æ½ÄÀÌ ´õ ³ªÀ» µí.
¾Æ·¡´Â ÄÚµå »ùÇÃ.
class HelloWebViewClient extends WebViewClient {
String localUri = "http://www.example.com";
int localUriLength = localUri.length();
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
String tempUri = Uri.parse(url).getHost().toString();
int tempUriLength = tempUri.length();
if (tempUriLength < localUriLength) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
} else {
if (tempUri.regionMatches(true, tempUriLength-localUriLength, localUri, 0, localUriLength)) {
return false;
} else {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}
}
} |
|
̵̧ : 331 |
̵̧
¸ñ·Ï
|
|