你好
使用我们的应用程序,您可以读取内存。
这里是源代码的摘录,例如使用我们的 SDK 和不同的标签类型
假设:NFCTag mTag;
如果 (UIHelper.isAType4Tag ( mTag)) {
// 标记类型 4
int size = getMemoryAreaSizeInBytes(((Type4Tag) mTag), mArea);
mNumberOfBytes = 大小;
mStartAddress = 0;
int fileId = UIHelper. getType4FileIdFromArea (mArea);
// 通知用户将执行读取
snackBarUiThread();
if (mReadPassword != null && mTag instanceof STType4Tag) {
mBuffer = ((STType4Tag) mTag).readBytes(fileId, 0, size, mReadPassword);
} 别的 {
mBuffer = ((Type4Tag) mTag).readBytes(fileId, 0, 大小);
}
mReadPassword = null;
int nbrOfBytesRead = 0;
如果(mBuffer != null){
nbrOfBytesRead = mBuffer.length;
}
如果(nbrOfBytesRead != mNumberOfBytes){
showToast(R.string.error_during_read_operation , nbrOfBytesRead);
}
} else if (UIHelper.isAType5Tag ( mTag)){
如果(面积 == -1){
mAreaId = getAreaIdFromAddressInBytesForType5Tag(mStartAddress);
}
如果(mAreaId == -1){
// 从 Address 检索 AreaId 时出现问题
// 地址可能无效
showToast(R.string.invalid_value ) ;
返回假;
} 别的 {
// 类型 5
mBuffer = getTag().readBytes(mStartAddress, mNumberOfBytes);
// 警告:readBytes() 返回的字节数可能少于请求的字节数
int nbrOfBytesRead = 0;
如果(mBuffer != null){
nbrOfBytesRead = mBuffer.length;
}
如果(nbrOfBytesRead != mNumberOfBytes){
showToast(R.string.error_during_read_operation , nbrOfBytesRead);
}
}
} else if (UIHelper.isAType2Tag ( mTag)){
如果(面积 == -1){
mAreaId = getAreaIdFromAddressInBytesForType2Tag(mStartAddress);
}
如果(mAreaId == -1){
// 从 Address 检索 AreaId 时出现问题
// 地址可能无效
showToast(R.string.invalid_value ) ;
返回假;
} 别的 {
mBuffer = getTag().readBytes(mStartAddress, mNumberOfBytes);
// 警告:readBytes() 返回的字节数可能少于请求的字节数
int nbrOfBytesRead = 0;
如果(mBuffer != null){
nbrOfBytesRead = mBuffer.length;
}
如果(nbrOfBytesRead != mNumberOfBytes){
showToast(R.string.error_during_read_operation , nbrOfBytesRead);
}
}
搜索文件:源代码中的ReadFragmentActivity,你会找到内存读取的方法。
对于write是指WriteFragmentActivity
Rgds,FB
你好
使用我们的应用程序,您可以读取内存。
这里是源代码的摘录,例如使用我们的 SDK 和不同的标签类型
假设:NFCTag mTag;
如果 (UIHelper.isAType4Tag ( mTag)) {
// 标记类型 4
int size = getMemoryAreaSizeInBytes(((Type4Tag) mTag), mArea);
mNumberOfBytes = 大小;
mStartAddress = 0;
int fileId = UIHelper. getType4FileIdFromArea (mArea);
// 通知用户将执行读取
snackBarUiThread();
if (mReadPassword != null && mTag instanceof STType4Tag) {
mBuffer = ((STType4Tag) mTag).readBytes(fileId, 0, size, mReadPassword);
} 别的 {
mBuffer = ((Type4Tag) mTag).readBytes(fileId, 0, 大小);
}
mReadPassword = null;
int nbrOfBytesRead = 0;
如果(mBuffer != null){
nbrOfBytesRead = mBuffer.length;
}
如果(nbrOfBytesRead != mNumberOfBytes){
showToast(R.string.error_during_read_operation , nbrOfBytesRead);
}
} else if (UIHelper.isAType5Tag ( mTag)){
如果(面积 == -1){
mAreaId = getAreaIdFromAddressInBytesForType5Tag(mStartAddress);
}
如果(mAreaId == -1){
// 从 Address 检索 AreaId 时出现问题
// 地址可能无效
showToast(R.string.invalid_value ) ;
返回假;
} 别的 {
// 类型 5
mBuffer = getTag().readBytes(mStartAddress, mNumberOfBytes);
// 警告:readBytes() 返回的字节数可能少于请求的字节数
int nbrOfBytesRead = 0;
如果(mBuffer != null){
nbrOfBytesRead = mBuffer.length;
}
如果(nbrOfBytesRead != mNumberOfBytes){
showToast(R.string.error_during_read_operation , nbrOfBytesRead);
}
}
} else if (UIHelper.isAType2Tag ( mTag)){
如果(面积 == -1){
mAreaId = getAreaIdFromAddressInBytesForType2Tag(mStartAddress);
}
如果(mAreaId == -1){
// 从 Address 检索 AreaId 时出现问题
// 地址可能无效
showToast(R.string.invalid_value ) ;
返回假;
} 别的 {
mBuffer = getTag().readBytes(mStartAddress, mNumberOfBytes);
// 警告:readBytes() 返回的字节数可能少于请求的字节数
int nbrOfBytesRead = 0;
如果(mBuffer != null){
nbrOfBytesRead = mBuffer.length;
}
如果(nbrOfBytesRead != mNumberOfBytes){
showToast(R.string.error_during_read_operation , nbrOfBytesRead);
}
}
搜索文件:源代码中的ReadFragmentActivity,你会找到内存读取的方法。
对于write是指WriteFragmentActivity
Rgds,FB
举报