Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 本机应用程序和Chrome自定义选项卡(CCT)之间的通信_Javascript_Android_Google Chrome Extension_Webview_Chrome Custom Tabs - Fatal编程技术网

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)。你知道怎么解决吗?拉胡尔,好的,我现在就修改成自定义方案。我很快会通知你的。我设法找到了params
    onNewIntent
    从未被调用。我是在
    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"/>