使用 chrome 自定义 link 打开 link
open link with chrome custom link
我已经实现了自定义 URL Span 以使用 chrome 自定义选项卡而不是默认浏览器打开 link。它的点击方法已启动,但我不知道如何启动 chrome 自定义启动器。
看起来是这样的:
public class CustomTabsURLSpan extends URLSpan {
Context context;
public CustomTabsURLSpan(String url) {
super(url);
Log.d("SensibleUrlSpan", "1");
}
public CustomTabsURLSpan(Parcel src) {
super(src);
Log.d("SensibleUrlSpan", "2");
}
@Override
public void onClick(View widget) {
Log.d("SensibleUrlSpan", "3");
String url = getURL();
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(context, Uri.parse(url));
}
}
调用时出现空引用错误,我认为是上下文问题。
您没有将 context
初始化为任何东西,所以它总是 null
。
我已经实现了自定义 URL Span 以使用 chrome 自定义选项卡而不是默认浏览器打开 link。它的点击方法已启动,但我不知道如何启动 chrome 自定义启动器。
看起来是这样的:
public class CustomTabsURLSpan extends URLSpan {
Context context;
public CustomTabsURLSpan(String url) {
super(url);
Log.d("SensibleUrlSpan", "1");
}
public CustomTabsURLSpan(Parcel src) {
super(src);
Log.d("SensibleUrlSpan", "2");
}
@Override
public void onClick(View widget) {
Log.d("SensibleUrlSpan", "3");
String url = getURL();
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(context, Uri.parse(url));
}
}
调用时出现空引用错误,我认为是上下文问题。
您没有将 context
初始化为任何东西,所以它总是 null
。