当前位置: 首页 > 知识库问答 >
问题:

离子4电容器角度:如何为ios和android编写特定于平台的ts代码?

凤高澹
2023-03-14

如何在ts文件中编写特定于平台的代码?那么只对ios有效的代码和只对android有效的代码呢?如何确定设备是以ios还是android作为操作系统运行?

我使用带电容器和角度的离子4。

非常感谢!

共有3个答案

田成化
2023-03-14

非常感谢你的努力。

我找到了我要找的东西。

https://capacitor.ionicframework.com/docs/apis/device

import { Plugins } from '@capacitor/core'; 
const { Device } = Plugins;
const info = await Device.getInfo();
console.log(info);

// Example output:
{
"diskFree": 12228108288,
"appVersion": "1.0.2", 
"appBuild": "123", 
"operatingSystem": "ios", 
"osVersion": "11.2", 
"platform": "ios", 
"memUsed": 93851648, 
"battery": -1, 
"diskTotal": 499054952448, 
"model": "iPhone", 
"manufacturer": "Apple", 
"uuid": "84AE7AA1-7000-4696-8A74-4FD588A4A5C7", 
"isVirtual":true 
}
贺聪
2023-03-14

所以,要编写特定于插件的TS代码,您需要已经开发了电容器插件,它应该公开您可以在TS代码中使用的方法等。

我认为这是对电容器插件生态系统如何工作的非常引人注目的描述

https://capacitor.ionicframework.com/docs/plugins/

下面是文章中关于如何创建自己的Android插件的详细示例:https://capacitor.ionicframework.com/docs/plugins/android

关于操作系统,该设备运行一个操作系统-爱奥尼亚具有内置功能:https://ionicframework.com/docs/building/cross-platform/#platform-检测

因此,使用“平台”,您可以检测html" target="_blank">操作系统并执行特定于操作系统的操作—请参阅爱奥尼亚的参考应用程序的应用程序。组成部分ts在app init方法中检测何时可以调用本机启动屏幕etc插件:

https://github.com/ionic-team/ionic-conference-app/blob/master/src/app/app.component.ts

陆野
2023-03-14

您可以使用平台来检测操作系统。

import { Platform } from '@ionic/angular';

@Component({...})
export class MyPage {
  constructor(public platform: Platform) {
     if(platform.is('ios')){
        //ios logic
     }
  }
}
 类似资料:
  • 我在Ionic 6框架、Angular和Capacitor中为Android开发了一个应用程序 该应用程序从主页开始,当我单击登录按钮时,代码会在外部浏览器(例如Chrome或Firefox)中打开Microsoft链接。我进行登录,当成功时,它会将我发送回带有url的外部浏览器localhost:8100并且不会进一步。我想问是否有人可以帮助我在应用程序内部集成登录功能,而无需返回localho

  • 我正在用电容器来构建Ionic应用程序。以下是在android Studio中打开android应用程序时运行的命令。 在Android Studio中,我运行了构建并单击Run,然后在我的设备中看到错误。我见过很多帖子都有相同的错误,但是那些帖子都是用build发布的。就我而言,我没有使用Cordova来准备android应用程序。 下面是我的Ionic应用程序的一些摘录。

  • 我有一个Web/android应用程序,使用Ionic 4和电容器编写,我一直试图从Android服务(通过电容器插件激活)发出的通知中重新进入Ionic应用程序到特定页面,但没有成功。 以下是在服务中创建通知的代码: 我认为我需要在新的意图(这个,MainActivity.class)中/周围添加一些东西,以使电容器/离子电池将应用程序初始化到正确的状态,但我无法确定应该是什么! 我浏览了电容器

  • 目前,我正在Android应用程序中使用泰瑟拉克特 3 (armv7 这些是我目前为止尝试过的事情: compiling_on_terminal_or_androidStudio compiling_using_docker 这些方法的问题: issue_with_terminal_approach issue_with_docker_approach

  • 先谢谢你,克里斯

  • 问题内容: 您可以使用CSS条件语句包含针对IE,Mozilla,Chrome的特定CSS。 相应的“如果”是什么? 问题答案: 为了那个原因 您可以扫描用户代理并找出哪个浏览器及其版本。包括适用于特定于操作系统样式的操作系统 您可以为特定的浏览器使用各种CSS技巧 或脚本或插件来识别浏览器并将各种类应用于元素 使用PHP 然后根据检测到的浏览器创建动态CSS文件 这是CSS骇客清单