我对外包类中的methode launchUrl中的上下文有些问题。我在我的应用程序中使用了几个类的Chrome自定义选项卡,我将对所有自定义选项卡意图使用一个方法。
这是我的助手:
public void openCustemTab(String url, Context context) {
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
builder.setToolbarColor(context.getResources().getColor(R.color.colorPrimary));
builder.setShowTitle(true);
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(context, Uri.parse(url));
}
这是我的活动/片段中的调用:
Helper helper = new Helper();
helper.openCustemTab("Some URL", getApplicationContext());
我的问题是,.launchUrl的methode openCustomTab中的上下文不起作用。有人知道我的问题吗?
答案 0 :(得分:0)
因为launchUrl参数是Activity(不是Context)和Uri。正如您在此处所见:void launchUrl (Activity context, Uri url)
您可以替换:
customTabsIntent.launchUrl(context, Uri.parse(url));
与
customTabsIntent.intent.setData(Uri.parse(url));
context.startActivity(customTabsIntent.intent, customTabsIntent.startAnimationBundle);