我是一名网页开发人员。我目前正在使用Android Studio开发基于WebView的Android应用程序,该应用程序作为我的网站的android应用程序访问。我的一个网页包含许多外部链接。我的目标是使Android应用程序能够像Gmail应用程序一样处理外部链接(也像Facebook和Line一样)。
以下是Gmail应用程序的示例。
电子邮件包含外部链接
点击链接,然后应用程序打开一个新活动,就像浏览器一样,而不离开Gmail应用程序
有任何想法如何实现吗?
很简单,你需要像Gergely评论中建议的那样使用Chrome自定义标签。下面是一个小型的可用代码,将帮助你实现此功能。
首先,在build.gradle(Module:app)中添加以下依赖项。
compile 'com.android.support:customtabs:23.4.0'
将以下函数添加到您的代码中,并简单地将字符串URL传递给它。
将以下函数添加到您的代码中,并简单地将字符串URL传递给它。
private void redirectUsingCustomTab(String url)
{
Uri uri = Uri.parse(url);
CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder();
// set desired toolbar colors
intentBuilder.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary));
intentBuilder.setSecondaryToolbarColor(ContextCompat.getColor(this, R.color.colorPrimaryDark));
// add start and exit animations if you want(optional)
/*intentBuilder.setStartAnimations(this, android.R.anim.slide_in_left, android.R.anim.slide_out_right);
intentBuilder.setExitAnimations(this, android.R.anim.slide_in_left,
android.R.anim.slide_out_right);*/
CustomTabsIntent customTabsIntent = intentBuilder.build();
customTabsIntent.launchUrl(activity, uri);
}
其余的事情会自己处理。由于Chrome自定义选项卡可以进行定制,所以可以做很多事情,比如您可以将菜单添加到工具栏中。有关详细信息,您可以访问Google官方文档这里。
希望这可以帮助您入门 :)