Ionic 5 / Capacitor:如何确定应用程序是在浏览器中运行还是编译为本机应用程序?

问题描述 投票:0回答:2

我只想知道我的 Ionic 5 应用程序是否在浏览器中运行,或者在已编译应用程序的 Web 视图中运行。

平台不起作用:https://ionicframework.com/docs/angular/platform
它只是讲述了该设备。但是当我在 Android 设备上的 chrome 中运行它时,它返回与我编译运行它时相同的平台。

分析 URL 以检查 webview url 是否有效,但在使用电容器实时重新加载时无效。因为它与浏览器中本地的 URL 相同。顺便说一句,分析 URL 感觉像是一个丑陋的解决方案。

获取这些简单而重要的信息真的那么难吗,还是我只是错过了一些东西?

编辑:
平台输出
Ubuntu 中的 Chrome 和 ionic 服务:[“桌面”]
Android 中的 Chrome:["android", "mobile", "mobileweb"]
带电容器 livereload 的 Android:["android", "phablet", "mobile", "mobileweb"]
Android编译:[“android”,“phablet”,“cordova”,“capacitor”,“mobile”,“hybrid”]

ionic-framework android-webview capacitor ionic5
2个回答
20
投票

检查

Capacitor.getPlatform()
如果返回 web 那么它作为网站运行,如果返回 ios 或 android 那么它是原生的。

或者也可以检查

Capacitor.isNativePlatform()

https://capacitorjs.com/docs/core-apis/web#getplatform


0
投票

首创进口电容铁芯

import { Capacitor } from '@capacitor/core';

然后使用以下代码检查平台

if (Capacitor.getPlatform() === 'ios') {
    // do something
  }else{
    //this this console log the platform if its not IOS
    console.log('PLATFORM IS', Capacitor.getPlatform())
  }
© www.soinside.com 2019 - 2024. All rights reserved.