读取 NDEF Tag – NDEF_DISCOVERED 事件 APP开发实现NFC近场通信能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

读取 NDEF Tag – NDEF_DISCOVERED 事件 APP开发实现NFC近场通信能力

核心代码示例,详情参阅demo

//Android 读取 NDEF Tag 示例数据
var android_sample = {
    data: null,
    tag: {
        ID: "04bf87225a6680",
        Technologies: {
            MifareUltralight: {
                MifareClassicType: "TYPE_ULTRALIGHT_C",
                MaxTransceiveLength: 253,
                Timeout: 618
            },
            NfcA: {
                MaxTransceiveLength: 253,
                Timeout: 618,
                SAK: 0,
                ATQA: "4400"
            },
            Ndef: {
                Type: "org.nfcforum.ndef.type2",
                //Ndef 消息
                NdefMessage: {
                    //16进制的原始数据
                    Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                    //Ndef 消息记录数组
                    Records: [
                        {
                            ID: "",
                            //16进制记录类型
                            Type: "54",
                            Uri: null,
                            //16进制记录荷载(原始 byte 数据流)
                            Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                            //如果 Payload 为可读文本,这是里其字符串格式
                            Payload_String: "任意文本数据,Any Text。",
                            Tnf: 1,
                            MimeType: "text/plain"
                        }
                    ],
                    ByteLength: 39
                },
                //Ndef 消息数组
                NdefMessages: [
                    {
                        Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                        Records: [
                            {
                                ID: "",
                                Type: "54",
                                Uri: null,
                                Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                                Payload_String: "任意文本数据,Any Text。",
                                Tnf: 1,
                                MimeType: "text/plain"
                            }
                        ],
                        ByteLength: 39
                    }
                ],
                CachedNdefMessage: {
                    Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                    Records: [
                        {
                            ID: "",
                            Type: "54",
                            Uri: null,
                            Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                            Payload_String: "任意文本数据,Any Text。",
                            Tnf: 1,
                            MimeType: "text/plain"
                        }
                    ],
                    ByteLength: 39
                },
                ReadOnly: true,
                MaxSize: 39,
                CanMakeReadOnly: true
            }
        }
    }
};

//iOS 读取 NDEF Tag 示例数据
var ios_sample = {
    data: null,
    tag: {
        ID: "",
        Technologies: {
            Ndef: {
                Type: "",
                //读取到都第一条 Ndef 消息
                NdefMessage: {
                    //Ndef 消息记录数组
                    Records: [
                        {
                            ID: "",
                            //16进制记录类型
                            Type: "54",
                            Uri: null,
                            //16进制记录荷载(原始 byte 数据流)
                            Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                            //如果 Payload 为可读文本,这是里其字符串格式
                            Payload_String: "任意文本数据,Any Text。"
                        }
                    ]
                },
                //读取到的所有 Ndef 消息数组
                NdefMessages: [
                    {
                        Records: [
                            {
                                ID: "",
                                Uri: null,
                                Type: "54",
                                Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                                Payload_String: "任意文本数据,Any Text。"
                            }
                        ]
                    }
                ]
            }
        }
    }
};

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//Android 读取 NDEF Tag 示例数据
var android_sample = {
    data: null,
    tag: {
        ID: "04bf87225a6680",
        Technologies: {
            MifareUltralight: {
                MifareClassicType: "TYPE_ULTRALIGHT_C",
                MaxTransceiveLength: 253,
                Timeout: 618
            },
            NfcA: {
                MaxTransceiveLength: 253,
                Timeout: 618,
                SAK: 0,
                ATQA: "4400"
            },
            Ndef: {
                Type: "org.nfcforum.ndef.type2",
                //Ndef 消息
                NdefMessage: {
                    //16进制的原始数据
                    Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                    //Ndef 消息记录数组
                    Records: [
                        {
                            ID: "",
                            //16进制记录类型
                            Type: "54",
                            Uri: null,
                            //16进制记录荷载(原始 byte 数据流)
                            Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                            //如果 Payload 为可读文本,这是里其字符串格式
                            Payload_String: "任意文本数据,Any Text。",
                            Tnf: 1,
                            MimeType: "text/plain"
                        }
                    ],
                    ByteLength: 39
                },
                //Ndef 消息数组
                NdefMessages: [
                    {
                        Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                        Records: [
                            {
                                ID: "",
                                Type: "54",
                                Uri: null,
                                Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                                Payload_String: "任意文本数据,Any Text。",
                                Tnf: 1,
                                MimeType: "text/plain"
                            }
                        ],
                        ByteLength: 39
                    }
                ],
                CachedNdefMessage: {
                    Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                    Records: [
                        {
                            ID: "",
                            Type: "54",
                            Uri: null,
                            Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                            Payload_String: "任意文本数据,Any Text。",
                            Tnf: 1,
                            MimeType: "text/plain"
                        }
                    ],
                    ByteLength: 39
                },
                ReadOnly: true,
                MaxSize: 39,
                CanMakeReadOnly: true
            }
        }
    }
};

//iOS 读取 NDEF Tag 示例数据
var ios_sample = {
    data: null,
    tag: {
        ID: "",
        Technologies: {
            Ndef: {
                Type: "",
                //读取到都第一条 Ndef 消息
                NdefMessage: {
                    //Ndef 消息记录数组
                    Records: [
                        {
                            ID: "",
                            //16进制记录类型
                            Type: "54",
                            Uri: null,
                            //16进制记录荷载(原始 byte 数据流)
                            Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                            //如果 Payload 为可读文本,这是里其字符串格式
                            Payload_String: "任意文本数据,Any Text。"
                        }
                    ]
                },
                //读取到的所有 Ndef 消息数组
                NdefMessages: [
                    {
                        Records: [
                            {
                                ID: "",
                                Uri: null,
                                Type: "54",
                                Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                                Payload_String: "任意文本数据,Any Text。"
                            }
                        ]
                    }
                ]
            }
        }
    }
};

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//Android 读取 NDEF Tag 示例数据
var android_sample = {
    data: null,
    tag: {
        ID: "04bf87225a6680",
        Technologies: {
            MifareUltralight: {
                MifareClassicType: "TYPE_ULTRALIGHT_C",
                MaxTransceiveLength: 253,
                Timeout: 618
            },
            NfcA: {
                MaxTransceiveLength: 253,
                Timeout: 618,
                SAK: 0,
                ATQA: "4400"
            },
            Ndef: {
                Type: "org.nfcforum.ndef.type2",
                //Ndef 消息
                NdefMessage: {
                    //16进制的原始数据
                    Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                    //Ndef 消息记录数组
                    Records: [
                        {
                            ID: "",
                            //16进制记录类型
                            Type: "54",
                            Uri: null,
                            //16进制记录荷载(原始 byte 数据流)
                            Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                            //如果 Payload 为可读文本,这是里其字符串格式
                            Payload_String: "任意文本数据,Any Text。",
                            Tnf: 1,
                            MimeType: "text/plain"
                        }
                    ],
                    ByteLength: 39
                },
                //Ndef 消息数组
                NdefMessages: [
                    {
                        Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                        Records: [
                            {
                                ID: "",
                                Type: "54",
                                Uri: null,
                                Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                                Payload_String: "任意文本数据,Any Text。",
                                Tnf: 1,
                                MimeType: "text/plain"
                            }
                        ],
                        ByteLength: 39
                    }
                ],
                CachedNdefMessage: {
                    Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                    Records: [
                        {
                            ID: "",
                            Type: "54",
                            Uri: null,
                            Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                            Payload_String: "任意文本数据,Any Text。",
                            Tnf: 1,
                            MimeType: "text/plain"
                        }
                    ],
                    ByteLength: 39
                },
                ReadOnly: true,
                MaxSize: 39,
                CanMakeReadOnly: true
            }
        }
    }
};

//iOS 读取 NDEF Tag 示例数据
var ios_sample = {
    data: null,
    tag: {
        ID: "",
        Technologies: {
            Ndef: {
                Type: "",
                //读取到都第一条 Ndef 消息
                NdefMessage: {
                    //Ndef 消息记录数组
                    Records: [
                        {
                            ID: "",
                            //16进制记录类型
                            Type: "54",
                            Uri: null,
                            //16进制记录荷载(原始 byte 数据流)
                            Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                            //如果 Payload 为可读文本,这是里其字符串格式
                            Payload_String: "任意文本数据,Any Text。"
                        }
                    ]
                },
                //读取到的所有 Ndef 消息数组
                NdefMessages: [
                    {
                        Records: [
                            {
                                ID: "",
                                Uri: null,
                                Type: "54",
                                Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
                                Payload_String: "任意文本数据,Any Text。"
                            }
                        ]
                    }
                ]
            }
        }
    }
};

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

cancelWriteMifareUltralightPage 取消写入 MifareUltralight 页 APP开发实现NFC近场通信能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

cancelWriteMifareUltralightPage 取消写入 MifareUltralight 页 APP开发实现NFC近场通信能力

核心代码示例,详情参阅demo

//支持 Android
//取消写入 MifareUltralight 页
jsBridge.nfc.cancelWriteMifareUltralightPage(function(succ, data) {
  if (succ) {
    alert("已取消 MIFAREULTRALIGHT_PENDING_WRITE_PAGE");
  } else {
    alert(JSON.stringify(data));
  }
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android
//取消写入 MifareUltralight 页
jsBridge.nfc.cancelWriteMifareUltralightPage(function(succ, data) {
  if (succ) {
    alert("已取消 MIFAREULTRALIGHT_PENDING_WRITE_PAGE");
  } else {
    alert(JSON.stringify(data));
  }
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android
//取消写入 MifareUltralight 页
jsBridge.nfc.cancelWriteMifareUltralightPage(function(succ, data) {
  if (succ) {
    alert("已取消 MIFAREULTRALIGHT_PENDING_WRITE_PAGE");
  } else {
    alert(JSON.stringify(data));
  }
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

writeNdefText 写入 TEXT 文本数据后置为只读标签 APP开发实现NFC近场通信能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

writeNdefText 写入 TEXT 文本数据后置为只读标签 APP开发实现NFC近场通信能力

核心代码示例,详情参阅demo

//支持 Android
//写入 TEXT 文本数据后置为只读标签
//请谨慎操作,置为只读后标签将不再可写!!!
jsBridge.nfc.writeNdefText({
  text: "任意文本数据,Any Text,ReadOnly !!!",
  ////写入后,将标签置为只读状态
                makeReadOnly: true
}, function(succ, data) {
  if (succ) {
    alert("待写入,请将设备靠近 NDEF TAG 标签。");
  } else {
    alert(JSON.stringify(data));
  }
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android
//写入 TEXT 文本数据后置为只读标签
//请谨慎操作,置为只读后标签将不再可写!!!
jsBridge.nfc.writeNdefText({
  text: "任意文本数据,Any Text,ReadOnly !!!",
  ////写入后,将标签置为只读状态
                makeReadOnly: true
}, function(succ, data) {
  if (succ) {
    alert("待写入,请将设备靠近 NDEF TAG 标签。");
  } else {
    alert(JSON.stringify(data));
  }
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android
//写入 TEXT 文本数据后置为只读标签
//请谨慎操作,置为只读后标签将不再可写!!!
jsBridge.nfc.writeNdefText({
  text: "任意文本数据,Any Text,ReadOnly !!!",
  ////写入后,将标签置为只读状态
                makeReadOnly: true
}, function(succ, data) {
  if (succ) {
    alert("待写入,请将设备靠近 NDEF TAG 标签。");
  } else {
    alert(JSON.stringify(data));
  }
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

writeNdefText 写入 TEXT 文本数据 APP开发实现NFC近场通信能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

writeNdefText 写入 TEXT 文本数据 APP开发实现NFC近场通信能力

核心代码示例,详情参阅demo

//支持 Android
//写入 TEXT 文本数据
//调用成功后会监听到 NDEF_PENDING_WRITE 事件
//将设备靠近标签后会监听到 NDEF_WRITE_SUCCESS 或 NDEF_WRITE_FAILED 事件
jsBridge.nfc.writeNdefText({
  //必须,字符串类型,文本内容
  text: "任意文本数据,Any Text。",
  //可选,布尔类型,写入数据之后是否将标签置为只读状态(置为只读后标签将不再可写),默认 false
  makeReadOnly: false
}, function(succ, data) {
  if (succ) {
    alert("待写入,请将设备靠近 NDEF TAG 标签。");
  } else {
    alert(JSON.stringify(data));
  }
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android
//写入 TEXT 文本数据
//调用成功后会监听到 NDEF_PENDING_WRITE 事件
//将设备靠近标签后会监听到 NDEF_WRITE_SUCCESS 或 NDEF_WRITE_FAILED 事件
jsBridge.nfc.writeNdefText({
  //必须,字符串类型,文本内容
  text: "任意文本数据,Any Text。",
  //可选,布尔类型,写入数据之后是否将标签置为只读状态(置为只读后标签将不再可写),默认 false
  makeReadOnly: false
}, function(succ, data) {
  if (succ) {
    alert("待写入,请将设备靠近 NDEF TAG 标签。");
  } else {
    alert(JSON.stringify(data));
  }
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android
//写入 TEXT 文本数据
//调用成功后会监听到 NDEF_PENDING_WRITE 事件
//将设备靠近标签后会监听到 NDEF_WRITE_SUCCESS 或 NDEF_WRITE_FAILED 事件
jsBridge.nfc.writeNdefText({
  //必须,字符串类型,文本内容
  text: "任意文本数据,Any Text。",
  //可选,布尔类型,写入数据之后是否将标签置为只读状态(置为只读后标签将不再可写),默认 false
  makeReadOnly: false
}, function(succ, data) {
  if (succ) {
    alert("待写入,请将设备靠近 NDEF TAG 标签。");
  } else {
    alert(JSON.stringify(data));
  }
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

disableForegroundDispatch 停用前台调度(结束连接会话) APP开发实现NFC近场通信能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

disableForegroundDispatch 停用前台调度(结束连接会话) APP开发实现NFC近场通信能力

核心代码示例,详情参阅demo

//支持 Android & iOS
//APP不再处理 NFC 任务调度
jsBridge.nfc.disableForegroundDispatch(function(succ, data) {
  alert(succ ? "已停用" : JSON.stringify(data));
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android & iOS
//APP不再处理 NFC 任务调度
jsBridge.nfc.disableForegroundDispatch(function(succ, data) {
  alert(succ ? "已停用" : JSON.stringify(data));
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android & iOS
//APP不再处理 NFC 任务调度
jsBridge.nfc.disableForegroundDispatch(function(succ, data) {
  alert(succ ? "已停用" : JSON.stringify(data));
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

enableForegroundDispatch 启用前台调度(开启连接会话) APP开发实现NFC近场通信能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

enableForegroundDispatch 启用前台调度(开启连接会话) APP开发实现NFC近场通信能力

• APP当前窗口处于前台激活状态时处理 NFC 事件调度;

• 请先执行 setListener 监听 NFC 事件调度及数据;

核心代码示例,详情参阅demo

//支持 Android & iOS(iOS 目前仅支持读取 NDEF 标签)
//请开启调度以便 APP 在前台激活状态时能处理 NFC 任务调度
//将设备靠近标签后会监听到 NDEF_DISCOVERED 或 TECH_DISCOVERED 或 TAG_DISCOVERED 事件
jsBridge.nfc.enableForegroundDispatch({
  //是否连续读取,布尔类型,(仅iOS需提供)
  continuous  : false,
  //提示文字,字符串类型,(仅iOS需提供)
  alertMessage: "请将手机靠近展品标签获取更多信息!"
}, function(succ, data) {
  if (jsBridge.ios) {
    if (!succ) alert(JSON.stringify(data));
  } else {
    alert(succ ? "已启用,请将手机靠近 NFC 标签。" : JSON.stringify(data));
  }
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android & iOS(iOS 目前仅支持读取 NDEF 标签)
//请开启调度以便 APP 在前台激活状态时能处理 NFC 任务调度
//将设备靠近标签后会监听到 NDEF_DISCOVERED 或 TECH_DISCOVERED 或 TAG_DISCOVERED 事件
jsBridge.nfc.enableForegroundDispatch({
  //是否连续读取,布尔类型,(仅iOS需提供)
  continuous  : false,
  //提示文字,字符串类型,(仅iOS需提供)
  alertMessage: "请将手机靠近展品标签获取更多信息!"
}, function(succ, data) {
  if (jsBridge.ios) {
    if (!succ) alert(JSON.stringify(data));
  } else {
    alert(succ ? "已启用,请将手机靠近 NFC 标签。" : JSON.stringify(data));
  }
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android & iOS(iOS 目前仅支持读取 NDEF 标签)
//请开启调度以便 APP 在前台激活状态时能处理 NFC 任务调度
//将设备靠近标签后会监听到 NDEF_DISCOVERED 或 TECH_DISCOVERED 或 TAG_DISCOVERED 事件
jsBridge.nfc.enableForegroundDispatch({
  //是否连续读取,布尔类型,(仅iOS需提供)
  continuous  : false,
  //提示文字,字符串类型,(仅iOS需提供)
  alertMessage: "请将手机靠近展品标签获取更多信息!"
}, function(succ, data) {
  if (jsBridge.ios) {
    if (!succ) alert(JSON.stringify(data));
  } else {
    alert(succ ? "已启用,请将手机靠近 NFC 标签。" : JSON.stringify(data));
  }
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

removeListener 移除监听器 APP开发实现NFC近场通信能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

removeListener 移除监听器 APP开发实现NFC近场通信能力

核心代码示例,详情参阅demo

//支持 Android & iOS
//移除监听器,不会再收到回调通知
//在需要时可重新调用 setListener
jsBridge.nfc.removeListener();

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android & iOS
//移除监听器,不会再收到回调通知
//在需要时可重新调用 setListener
jsBridge.nfc.removeListener();

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android & iOS
//移除监听器,不会再收到回调通知
//在需要时可重新调用 setListener
jsBridge.nfc.removeListener();

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

openSettings 转到 NFC 设置 APP开发实现NFC近场通信能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

openSettings 转到 NFC 设置 APP开发实现NFC近场通信能力

核心代码示例,详情参阅demo

//支持 Android
jsBridge.nfc.openSettings();

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android
jsBridge.nfc.openSettings();

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android
jsBridge.nfc.openSettings();

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

isSupported 检测设备是否支持 NFC 功能 APP开发实现NFC近场通信能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

isSupported 检测设备是否支持 NFC 功能 APP开发实现NFC近场通信能力

♦ 使用步骤:

1. 检测设备是否支持 NFC 功能并且已启用;

2. 调用 setListener 设置监听器,NFC 标签数据及操作状态都在此监听器中返回;

3. 调用 enableForegroundDispatch 让本 APP 处于前台激活状态时接管 NFC 调度;

4. 将设备靠近 NFC 标签时会自动读取数据并完成指定的操作;

♦ Android 支持写入 NDEF TAG,iOS 仅支持读取 NDEF TAG。

核心代码示例,详情参阅demo

//支持 Android & iOS(从 iOS 11, iPhone 7 开始支持)
jsBridge.nfc.isSupported(function(succ, data) {
  alert(data.isSupported ? "支持" : "不支持");
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android & iOS(从 iOS 11, iPhone 7 开始支持)
jsBridge.nfc.isSupported(function(succ, data) {
  alert(data.isSupported ? "支持" : "不支持");
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//支持 Android & iOS(从 iOS 11, iPhone 7 开始支持)
jsBridge.nfc.isSupported(function(succ, data) {
  alert(data.isSupported ? "支持" : "不支持");
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->