基于NFC的Android读写软件,NFC读写(android代码)

这个博客主要介绍了一个Android应用程序,该程序能够读写NFC标签,并且具有对NTAG213标签开启和关闭密码保护的功能。用户可以通过应用程序设置和删除NFC标签的密码,确保数据的安全性。核心代码展示了如何使用Android的NFC API进行读写操作,包括连接、写入数据、删除密码等步骤。
摘要由CSDN通过智能技术生成

【实例简介】

可以实现NFC标签卡的读写操作

【实例截图】

NFC写入工具,包括对NTAG213开启密码保护和关闭密码保护的功能

【核心代码】

package com.tzsafe.tazantagwritter

import android.Manifest

import android.app.Activity

import android.app.PendingIntent

import android.content.Context

import android.content.DialogInterface

import android.content.Intent

import android.net.Uri

import android.nfc.*

import android.nfc.tech.MifareUltralight

import android.nfc.tech.Ndef

import android.nfc.tech.NdefFormatable

import android.os.Bundle

import android.util.Log

import android.view.Menu

import android.view.MenuItem

import android.widget.Toast

import androidx.appcompat.app.AlertDialog

import androidx.appcompat.app.AppCompatActivity

import com.king.zxing.CaptureActivity

import com.king.zxing.Intents

import com.tbruyelle.rxpermissions2.RxPermissions

import com.tzsafe.tazantagwritter.app.ObjectBox

import com.tzsafe.tazantagwritter.entity.ConfigItem

import com.tzsafe.tazantagwritter.setting.ConfigActivity

import com.tzsafe.tazantagwritter.setting.PasswordActivity

import io.objectbox.Box

import io.objectbox.kotlin.boxFor

import kotlinx.android.synthetic.main.activity_main.*

import java.io.IOException

import java.nio.charset.Charset

import java.util.*

import kotlin.experimental.and

import kotlin.experimental.or

/**

* 主界面

*/

class MainActivity : AppCompatActivity() {

lateinit var mNfcAdapter: NfcAdapter

lateinit var mPendingIntent: PendingIntent

lateinit var box: Box

var dialog: AlertDialog? = null

val ACTION_WRITE = 1000;

val ACTION_DELETE_PWD = 1001;

var NFC_ACTION: Int = 0;

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

checkPermissions()

box = ObjectBox.boxStore.boxFor()

// initTapLinxLib()

btn_scan_qr.setOnClickListener {

val intent = Intent(this, CaptureActivity::class.java)

startActivityForResult(intent, 102)

}

btn_write_nfc.setOnClickListener {

NFC_ACTION = ACTION_WRITE

showWriteDialog()

}

btn_password_manage.setOnClickListener {

startActivity(Intent(this, PasswordActivity::class.java))

}

btn_delete_pwd.setOnClickListener {

NFC_ACTION = ACTION_DELETE_PWD

showDeleteDialog()

}

}

private fun showDeleteDialog() {

dialog =

AlertDialog.Builder(this).setTitle("靠近要删除密码的NFC卡片").setView(R.layout.write_nfc_layout)

.setPositiveButton(

"取消",

DialogInterface.OnClickListener { dialogInterface, _ -> dialogInterface.dismiss() })

.create()

dialog!!.show()

}

private fun showWriteDialog() {

dialog = AlertDialog.Builder(this).setTitle("在NFC Tag上写").setView(R.layout.write_nfc_layout)

.setPositiveButton(

"取消",

DialogInterface.OnClickListener { dialogInterface, _ -> dialogInterface.dismiss() })

.create()

dia

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值