是否可以防止 Android WebApplication 转动屏幕

Is it possible to prevent an Android WebApplication from turning the screen

我有一个 asp.net 应用程序,它使用 manifest.json 本地“安装”在 android 设备上。

在此清单中,我添加了:"display":"standalone 和 "orientation": "landscape"

但如果我将 phone 上下翻转,它仍然会旋转 180°,即使在所有这些决定中都关闭了“屏幕旋转”。问题是,这些设备顶部有一个扫描仪,用于扫描条形码。因此,如果您将 phone 上下翻转以扫描某些内容,整个网页会翻转过来,当您将其翻转回来时,您将无法再阅读它。 你必须再次保持笔直,或稍微“摇动”它以使其再次翻转。

编辑 20211110:这是一个网站,在我们的本地 IIS 上 运行。该网页使用 MANIFEST.JSON 以便 chrome、Firefox 和 safari 提示用户“安装”该网站。这会在主启动器上创建一个快捷方式,可以像 Android 应用程序一样打开网站。 (这就像 Twitter,当你在你的 andorid 上浏览他们的网站时 Phone 它会提示你安装该应用程序,但实际上它只会创建一个网站的快捷方式)

{
  "short_name": "Short",
  "name": "AppName",
  "icons": [
    {
      "src": "Images/icon192.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "any maskable"
    },
    {
      "src": "Images/icon512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any maskable"
    }
  ],
  "start_url": "./Login.aspx",
  "display": "standalone", /* Could be "fullscreen", "standalone", "minimal-ui", or "browser" */
  "orientation": "portrait", /* Could be "landscape" or "portrait" */
  "background_color": "#DE007E", /*"#DE007E"*/
  "theme_color": "#DE007E" /*"#DE007E"*/
}

好的,我现在明白了。 选项 "orientation": "portrait" 导致 PWA 始终处于纵向,即使设备倒置也是如此。 所以我只需要从 manifest.json 中删除这个选项,现在它可以工作了。