关于自动开启/关闭NFC

描述

不知道NFC一直开着会不会费电啊... NFC功能也就是每天刷个交通卡用用...没必要一直开着, 试试autojs的定时任务功能,看看在我手机上能不能定时执行...

安卓文档上没给开关的方法, 不过可以反射调用一下.直接上代码吧:

const NFC = new NFCManager();


//判断NFC是否开启,开着的时候就关闭, 关闭的时候就开启
if (NFC.hasNfc()) {
    NFC.disable();
} else {
    NFC.enable();
}




function NFCManager() {
    importClass(android.nfc.NfcManager);
    importClass(android.nfc.NfcAdapter);
    importClass(android.content.Context);


    var mNFCManager =context.getSystemService(Context.NFC_SERVICE);
    var adapter = mNFCManager.getDefaultAdapter();

    this.enable = function() {
        try {
            var method =adapter.getClass().getDeclaredMethod("enable");
            method.invoke(adapter);
        } catch (e) {
            log(e);
        }
    }
    this.disable = function() {
        try {
            var method = adapter.getClass().getDeclaredMethod("disable");
            method.invoke(adapter);
        } catch (e) {
            log(e);
        }
    }
    this.hasNfc = function() {
        var bRet=false;
        if(context==null)
            return bRet;
        if (adapter != null && adapter.isEnabled()) {
            bRet=true;
        }
        return bRet;
    }
}

这里需要注意的是, 我没有添加判断是否有NFC模块...这个需要你们自己添加一下, 不过我觉得也没必要添加吧....nfc,有没有NFC功能,你自己心里还没有点数么...反正没有NFC就会报错,这个就不要再问了.

另外可以配合autojs的定时任务来定时开启, 不过autojs的后台保活...emmm需要你们自己针对自己的手机进行设置一下. 目测我的华为EMUI 10.1 是可以后台保活的...

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分