我试图确定用户何时在Chrome中打开Chrome自定义标签("在Chrome中打开"从菜单中选择该选项)。
我的导航回调返回事件代码6,这与用户关闭自定义标签时返回的代码相同。有没有办法区分用户是关闭了自定义标签还是在Chrome中打开它?
答案 0 :(得分:0)
导航代码6意味着,无论用户是否已导航回启动CustomTabs意图或其他活动的活动(在此情况下已启动Chrome),CustomTabs Activity都不再可见。
当用户从CustomTabs活动导航到Chrome时,您会获得导航代码6,当按下后退按钮时,会发送另一个带有代码5的事件(标签再次可见)。在这种情况下,您仍然可以看到CustomActivity,之前的活动已完成,启动意图的活动仍然暂停。
当您在启动会话的活动中调用导航代码6和onActivityResult()
方法时,启动CustomTabs活动可能会解决您的问题。
public void openUrlForResult(String url, int requestCode){
CustomTabsIntent customTabsIntent = buildCustomTabIntent(mCustomTabSession);
customTabsIntent.intent.setData(Uri.parse(url));
mContext.startActivityForResult(customTabsIntent.intent, requestCode);
}