๊ฐํธํ์ง๋ง ๋ถ์์ ํ TextView ๋งํฌ ๋ค๋ฃจ๊ธฐ
TextView์๋ ๋งํฌ ๊ธฐ๋ฅ์ด ์๋ค.
android:autoLinks ์์ฑ์ none ์ด์ธ์ ๋ค๋ฅธ๊ฒ์ผ๋ก ๋ฐ๊พธ๋ฉด ๋ณ๋์ ์ฒ๋ฆฌ ์์ด ๋ณธ๋ฌธ ๋ด์ ์ด๋ฉ์ผ, ์น ์ฃผ์๋ฑ์ ์์์ ํด๋ฆญ ๊ฐ๋ฅํ ๋งํฌ๋ก ๋ฐ๊พผ๋ค.
android:linksClickable์ true๋ก ๋๊ณ
์ง์ Spanned๋ฅผ ๊ธธ๊ฒ ์ด์ด ๋ถ์ผ ๊ฒฝ์ฐ ClickableSpan์ ์์ ํด๋์ค๋ฅผ ๊ตฌํํ๊ฑฐ๋ ๋ง ํธํ๊ฒ UrlSpan์ ์ฌ์ฉํ๋ค. TextView.setText()๊ฐ ๋ฐ๋ ๊ฒ์ด CharSequence๋ผ Spanned๋ฅผ ๋ฐ๋๊ฒ ๊ฐ๋ฅํ๋ค.
ํ์ง๋ง ๋๋ ๊ท์ฐฎ์ผ๋ Html.fromHtml()๋ฅผ ์ฌ์ฉํ๋ค. ๋ชจ๋ ์๋ฆฌ๋จผํธ๋ฅผ ์ง์ํ์ง ์์ผ๋ ์์ค๋ฅผ ๊น๋ณด๋ฉด ๋๋ค. ๊ทธ๋ฅ switch๋ฌธ ์์ ๋ค ์๋ค.
textView.setMovementMethod(new LinkMovementMethod());
๋ฅผ ํด์ค๋ค. ๊ธฐ๋ณธ ์
ํ
์ผ๋ก๋ ๋งํฌ ํด๋ฆญํด๋ ๋ค๋ฃจ์ง ์์.
๋๋ ContentProvider์์ ์ด๋ฏธ์ง๋ฅผ ์ ์ธํ ๋๋ถ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๊ฒ ํ๊ณ Intent.ACTION_* ์๋ฆฌ์ฆ์ ๊ฐ๊ฐ ์๋ง๋ Activity๋ฅผ ๋ถ์ฌ๋๋์ง๋ผ ์์ ๋ฐฉ๋ฒ์ ์ ํธํ๋ค. ๊ทธ๋ฐ๋ฐ ์ฌ์ํ ๋ฌธ์ ๊ฐ ์๋ค. URL๋ง ๊ฐ์ง๊ณ ๋ชจ๋ ํธ์ถ์ ํ ์ ์๋ค. URLSpan ๋ด๋ถ์ ์ผ๋ก ์ฃผ์ด์ง URL์ Intent์ data๋ก๋ง ์ทจ๊ธํ๊ณ Action์ผ๋ก๋ Intent.ACTION_VIEW๋ฅผ ์ฃผ๊ธฐ ๋๋ฌธ์ intent: ์คํค๋ง๋ก ์์ํ๋ URL์ ์ฌ์ฉํด๋ ์์คํ
์ ์๋ตํ์ง ์๋๋ค.
๊ทธ๋ฐ๋ฐ ๋ง์นจ ๋งค์ฐ Intent.ACTION_WEB_SEARCH ์ก์
์ SearchManager.QUERY๋ฅผ extra ๋ฐ์ดํฐ๋ก ๋ฃ์ด์ ์์คํ
๊ธฐ๋ณธ ์น ๊ฒ์ ์ ๊ณต์๋ฅผ ํธ์ถํ๊ณ ์ถ๋ค. ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๊ฒ ์ผ๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ด ๊ฒฐํจ์ ์์ด๋ ์ ์ผ ํธํ๋ค. ์ผ๋จ ๋งํฌ ๋ณด์๊ณ .
http://stackoverflow.com/a/3452944/192243
๊ทธ๋ผ ์ด์ ํ๋ก์๋ฅผ ๋ง๋ค์ด๋ณด๋ฉดโฆ
์์ค ์ฝ๋ gist ๋งํฌ
์ด๋ ๊ฒ ๋๋๊น ์์์ ํ๋ฉด ๋๋ค.
์ ๋ฐ ์์์ ์ธ(Implict) Intent ํธ์ถ์ ์์คํ
์ ์ฒด์ Activity๋ฅผ ๋ชจ๋ ํธ์ถ ๋์์ผ๋ก ๋๊ธฐ ๋๋ฌธ์ ๊ฐ์ Intent ํํฐ๋ฅผ ๊ฑธ์ด๋์ ๊ฒฝ์ฐ ๋ง์ ์๊ฐ ์๋ค. ๊ทธ๋ด ๊ฒฝ์ฐ ์ด๋ค ์ฑ(์ฌ์ค์ Activity๋ค)์ผ๋ก ์ด๊ฑฐ๋๊ณ ๋ฌผ์ด๋ณด๋๋ฐ ๋ณด๊ธฐ์๋ ๊ทธ๋ฆฌ ์ข์ง ์๊ณ ์ฑ์ด ๋ง๊ฐ์ง๋ฏํ ๋๋์ ์ค๋ค.
์ง๊ธ๊ฐ์ด ๋ ๋ก ๋จน์ผ๋ ค ํ๋ ์ํฉ์์๋ URLSpan์ URL๋ฐ์ ๋๊ธธ ์ ์๊ธฐ๋๋ฌธ์ ๋์ ํจํค์ง ์ด๋ฆ์ด๋ ์ปดํฌ๋ํธ ์ง์ ๋ ๋ถ๊ฐ๋ฅํ๋ค.
๊ทธ๋์ ํ๋ฒ ๋ ์์ผ๋ฌ ๊ฐ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ผ ์ด๋งโฆ
์ URL์ ์คํด์ด ํจํค์ง ์ด๋ฆ์ด์ฃ
๊ตฌ๊ธ ํ๋ ์ด ์คํ ์ด์ intent: ๋ฐ๋ ์ฑ๋ค ๋๋ฆผ. ์๋ง. ๊ทธ๋์ ์
์์ ์ผ๋ก ๊ฐ๋ก์ฑ๋ ค๊ณ ํ์ง ์๋ ์ด์ ํจํค์ง ์ด๋ฆ์ ์ฐ๋ฉด ๋ฐ๋ก DummyActivity๊ฐ ํธ์ถ๋ ๊ฑฐ๋ผ์์.
์กํฐ๋นํฐ ํ๋ ๋ ๋์ฐ๋ฉด ์์ ์๋จ๋์
onCreate() ์์ setContentView() ์ํด์ค์ ๊ด์ฐฎ์. finish() ํ๋๊น ์กํฐ๋นํฐ ์คํ์๋ ์๋จ์. onCreate() ์์ ์ ๋ ๊ฒ ํ๋๊ฑด ๋๋ฆฌ ์๋ ค์ง ํจํด์. Activity ์ด์ธ์ ์ ๊ฑธ ๋ฐ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์ ์ต ์์ง๋ ์์.