外包助手类中.launchUrl的上下文

时间:2016-08-14 09:58:11

标签: java android

我对外包类中的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中的上下文不起作用。有人知道我的问题吗?

1 个答案:

答案 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);