Android上使用Flutter和InAppWebView的Chrome顶部栏错误

k5ifujac  于 2023-05-11  发布在  Go
关注(0)|答案(1)|浏览(188)

更新:问题是,三星A53有三星互联网作为默认浏览器.那么问题是,ChromeSafariBrowser如何处理它呢?是否可以强制打开Chrome或有其他解决方案?

在Flutter中使用InAppWebView的Samsung A53(Android 13)上,当使用ChromeSafariBrowser打开链接时,我在浏览器中获得半透明的顶部栏以及不同的锁定图标。

在其他Android设备(Android 13上的三星S21或三星S8)以及iOS上,它看起来不是半透明的,所有导航按钮看起来都很清晰。也应该是这样的:

我在ChromeSafariBrowser中打开链接的代码:

Uri uri = Uri.parse(value);
  ChromeSafariBrowser().open(
    url: uri,
    options: ChromeSafariBrowserClassOptions(
      ios: IOSSafariOptions(
        barCollapsingEnabled: true,
      ),
    ),
  );

initialOptions对于InAppWebView

InAppWebViewGroupOptions(
      crossPlatform: InAppWebViewOptions(
          useShouldOverrideUrlLoading: true,
          supportZoom: false,
          disableContextMenu: true,
          verticalScrollBarEnabled: false,
          horizontalScrollBarEnabled: false,
      ),
      android: AndroidInAppWebViewOptions(
        useHybridComposition: true,
        disableDefaultErrorPage: true,
      ),
      ios: IOSInAppWebViewOptions(
        disallowOverScroll: false,
        allowsBackForwardNavigationGestures: false,
        allowsLinkPreview: false,
        disableLongPressContextMenuOnLinks: false,
      ));

三星A53上出现这种行为的原因是什么?

tzcvj98z

tzcvj98z1#

ChromeSafariBrowser这样处理它,将packageName设置为'com.android.chrome'

ChromeSafariBrowser().open(
          url,
          options: ChromeSafariBrowserClassOptions(
            android: AndroidChromeCustomTabsOptions(
              packageName: 'com.android.chrome',
            ),
            ios: IOSSafariOptions(
              barCollapsingEnabled: true,
            ),
          ),
        );

相关问题