首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >钛超环行接入android.os.SystemProperties

钛超环行接入android.os.SystemProperties
EN

Stack Overflow用户
提问于 2017-12-23 13:26:37
回答 2查看 177关注 0票数 1

我一直在一个钛项目中直接尝试(我希望)一个简单的Android超级循环代码(使用SDK7.0.1.GA和超级循环3)。

代码语言:javascript
运行
复制
var sysProp = require('android.os.SystemProperties');
var serialNumber = sysProp.get("sys.serialnumber", "none");

但是,当应用程序运行时,它会报告

代码语言:javascript
运行
复制
Requested module not found:android.os.SystemProperties

我认为这可能是因为在编译应用程序(使用cli)时,它会报告

代码语言:javascript
运行
复制
hyperloop:generateSources: Skipping Hyperloop wrapper generation, no usage found ...

我在jar中有类似的代码,如果我使用它,它就能工作,所以我想知道为什么超循环生成没有被触发,因为我认为这就是问题所在。

抱歉,应该解释得更清楚些。

这就是我使用的jar源,序列号的提取只是一个例子(我还需要访问其他信息制造商的特定数据),我想看看是否可以使用超级循环而不是包含JAR文件来复制JAR功能。如果它还没坏,就不要去修理它,只是好奇地想看看是否能做到。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-24 13:32:40

因此,通过@miga的反馈和一些尝试和错误,我想出了一个非常好的解决方案,并将完成所需的方法反射。我的新超循环功能是

代码语言:javascript
运行
复制
function getData(data){

    var result = false;
    var Class = require("java.lang.Class");
    var String = require("java.lang.String");

    var c = Class.forName("android.os.SystemProperties");
    var get = c.getMethod("get", String.class, String.class);
    result = get.invoke(c, data, "Error");
    return result;

}

其中数据是我想要的系统属性的字符串。

我使用它从三星设备中提取和匹配序列号,这是一个系统属性调用"ril.serialnumber“或"sys.serialnumber”。现在,我可以使用上面的函数来执行我使用JAR文件时所做的事情。我只是想和大家分享一下,以防其他人需要类似的东西。

票数 2
EN

Stack Overflow用户

发布于 2017-12-23 14:10:17

这是因为android.os.SystemProperties不是您可以导入的类。查看https://developer.android.com/reference/android/os/package-summary.html上的android文档

你可以用

代码语言:javascript
运行
复制
var build = require('android.os.Build');
console.log(build.SERIAL);

访问序列号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47952887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档