LinkMovementMethod:
它实现了一系列的方法,
比如它的onKeyDown调用ClickableSpan的onClick
URLSpan实现了ClickableSpan
用户点击一个url的话,就会调用LinkMovementMethod::onKeyDown,继而调用URLSpan的onClick,
我们看看URLSpan::onClick的实现
@override
public void onClick(View widget) {
Uri uri = Uri.parse(getURL());
Context context = widget.getContext();
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
context.startActivity(intent);
}
它实际上是启动了一个activity,可能是web/email或者其他的满足intent filter/url schema的activity
本文介绍了Android中LinkMovementMethod的工作原理,包括如何通过调用ClickableSpan和URLSpan来响应用户点击URL的行为,以及如何启动相应的Activity打开链接。

4289

被折叠的 条评论
为什么被折叠?



