Javascript 本机应用程序和Chrome自定义选项卡(CCT)之间的通信
当我使用安卓Javascript 本机应用程序和Chrome自定义选项卡(CCT)之间的通信,javascript,android,google-chrome-extension,webview,chrome-custom-tabs,Javascript,Android,Google Chrome Extension,Webview,Chrome Custom Tabs,当我使用安卓WebView时,可以通过JS接口调用和JS注入调用在web应用程序和本机之间进行通信。我想知道Android原生应用程序和Chrome定制标签(CCT)之间是否有任何沟通方法 我知道出于安全原因,谷歌没有在CCT和TWA中添加桥接功能。但是,在年,他们声明有有限的Web/Native桥接方法(参见下图)。我想知道关于这些有限桥接的方法和指南是什么 更新1 非常感谢@Rahul指导我前进。这里有一个很好的教程,演示了如何一步一步地创建它 创建新的请求令牌 让用户授权请求令牌 使用授
WebView
时,可以通过JS接口
调用和JS注入
调用在web应用程序和本机之间进行通信。我想知道Android原生应用程序和Chrome定制标签(CCT)之间是否有任何沟通方法
我知道出于安全原因,谷歌没有在CCT
和TWA
中添加桥接功能。但是,在年,他们声明有有限的Web/Native桥接方法(参见下图)。我想知道关于这些有限桥接的方法和指南是什么
更新1
非常感谢@Rahul指导我前进。这里有一个很好的教程,演示了如何一步一步地创建它
创建新的请求令牌
让用户授权请求令牌
使用授权请求令牌创建新会话id
整个过程背后的主要思想是使用category,每当调用重定向URL时,就会调用category
<intent-filter android:label="@string/filter_view_http_gizmos">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="callback_param"
android:scheme="anything"/>
如果您想进行o-auth登录或类似操作,则需要在AndroidManifest.xml
文件中注册auth回调。我该怎么做?这将非常有帮助。Chrome不支持Android中的扩展,因此标记“google Chrome extension”是不相关的。它不是用我的,scheme=https-host=a-b.c.com/#/login/process
从CCT窗口调用的。它会在浏览器本身中打开链接。未打开我的活动。当我尝试浏览url时,请尝试为其提供自定义的方案
,而不是https
https://a-b.c.com/#/#login/process
它是web应用程序中也存在的实际页面(有效URL)。你知道怎么解决吗?拉胡尔,好的,我现在就修改成自定义方案。我很快会通知你的。我设法找到了paramsonNewIntent
从未被调用。我是在onCreate
中进入的。请看更新后的帖子。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d(classTag, "MyResultActivity activity is called")
intent?.data?.let {
for (key in it.queryParameterNames) {
val value = it.getQueryParameter(key)
Log.d(classTag, "MyResultActivity param key: $key, value: $value")
}
}
}
<intent-filter android:label="@string/filter_view_http_gizmos">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="callback_param"
android:scheme="anything"/>