无敌暴龙
无敌暴龙
  • 发布:2022-12-12 11:43
  • 更新:2022-12-12 11:59
  • 阅读:380

uts文档里的这段代码谁能解释下

分类:uts
// index.uts  

// 引用android api  
import Context from "android.content.Context";  
import BatteryManager from "android.os.BatteryManager";  
// 引用uts环境库  
import { getAppContext } from "io.dcloud.uts.android";  

export function getBatteryCapacity(): string {  
    // 获取android系统 application上下文  
    const context = getAppContext();  
    if (context != null) {  
        const manager = context.getSystemService(  
            Context.BATTERY_SERVICE  
        ) as BatteryManager;  
        const currentLevel: number = manager.getIntProperty(  
            BatteryManager.BATTERY_PROPERTY_CAPACITY  
        );  
        return '' + currentLevel + '%';  
    }  
    return "0%";  
}  

import Context from "android.content.Context";const context = getAppContext();这两个context有啥区别

2022-12-12 11:43 负责人:无 分享
已邀请:
无敌暴龙

无敌暴龙 (作者)

context = getAppContext()这个是不是相当于njs的MainActivity = plus.android.runtimeMainActivity()

DCloud_Android_DQQ

DCloud_Android_DQQ

有点差别。

UTS 提供了两个类似的方法

getAppContext 约等于 applicaton 上下文。
getUniActivity 相当于njs的MainActivity = plus.android.runtimeMainActivity()

具体参考这里
https://uniapp.dcloud.net.cn/plugin/uts-for-android.html#iodcloudutsandroid

DCloud_Android_DQQ

DCloud_Android_DQQ

在Android里面 application的上下文和 activity上下文,还是有差别的。

appliction 可以获取到更多应用层级的上下文变量
但是在开启一个新的activity的时候,如果用application 会有更多的限制,因为破坏了android原因的栈结构

具体需要检索一下android原生开发内容

  • 无敌暴龙 (作者)

    感觉这uts对前端来说还是有点难的,还要连带学习安卓,这样还不如直接学安卓呢,如果抛开ios,uts有点本末倒置的感觉了,不但没有降低app开发的成本,反而提高了,前端要学习安卓,安卓要学习js/ts,两者都提高了学习成本

    2022-12-12 14:17

  • tuonioooo

    回复 无敌暴龙: 我玩了快1年uni-app 感觉快要脱坑了 广告打的很好 但是内容 缺陷太大 每次升级 都会有一些奇葩的问题

    2022-12-24 17:34

  • 无敌暴龙 (作者)

    回复 tuonioooo: 没怎么深度使用过uniapp,就这次想自己开发个app玩玩,结果发现h5+和native.js不能满足需求,然后询问说可以用uts,了解了一下,发现坑更大,不懂安卓玩不了uts,懂安卓不需要uts,完全就是鸡肋

    2022-12-26 17:53

  • tuonioooo

    除非官方迭代一些uts插件 否则 我是不会手动写uts 插件

    2022-12-26 18:10

  • tuonioooo

    这个东西 只适合做一个 资讯、查询、一定要有跨小程序或h5的需求,否则的话就不要用了

    2022-12-26 18:12

该问题目前已经被锁定, 无法添加新回复