2

我正在尝试在 Android 上使用 Chrome CustomTabs,但在使用 CustomTabsCallback 时遇到问题。所以,我在网上搜索了一些示例或文档以在我的代码中实现,但不幸的是我没有找到任何东西......
我需要接收托管网页发送的 postMessage 并阅读其中的内容。postMessage 是使用“*”作为来源发送的,但我认为这不是真正的问题。

这是我的代码:

CustomTabsClient.bindCustomTabsService(context, CUSTOM_TAB_PACKAGE_NAME, new CustomTabsServiceConnection() {
        @Override
        public void onCustomTabsServiceConnected(ComponentName name, CustomTabsClient client) {
            mClient = client;
            mClient.warmup(0);
            CustomTabsSession session = mClient.newSession(new CustomTabsCallback() {
                @Override
                public void onPostMessage(String message, Bundle extras) {
                    // Here the method not called by CustomTabs
                    super.onPostMessage(message, extras);
                }

                @Override
                public void onMessageChannelReady(Bundle extras) {
                    super.onMessageChannelReady(extras);
                }

                @Override
                public void onNavigationEvent(int navigationEvent, Bundle extras) {
                    super.onNavigationEvent(navigationEvent, extras);
                }
            });
            session.mayLaunchUrl(uri, null, null);
            CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(session);
            CustomTabsIntent customTabsIntent = builder.build();
            customTabsIntent.launchUrl(context, uri);
        }

        @Override
        public void onServiceDisconnected(ComponentName name) {
            mClient = null;
        }
    });

我接受所有建议,这让我发疯。

提前致谢。

4

0 回答 0