本文整理汇总了Java中android.nfc.tech.Ndef.getMaxSize方法的典型用法代码示例。如果您正苦于以下问题:Java Ndef.getMaxSize方法的具体用法?Java Ndef.getMaxSize怎么用?Java Ndef.getMaxSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.nfc.tech.Ndef
的用法示例。
在下文中一共展示了Ndef.getMaxSize方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeTag
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
/**
* 写入标签
*
* @param message
* @param tag
* @return
*/
public static boolean writeTag(NdefMessage message, Tag tag) {
int size = message.toByteArray().length;
try {
Ndef ndef = Ndef.get(tag);
if (ndef != null) {
ndef.connect();
if (!ndef.isWritable()) {
return false;
}
if (ndef.getMaxSize() < size) {
return false;
}
ndef.writeNdefMessage(message);
return true;
}
} catch (Exception e) {
}
return false;
}
示例2: getNdefMaxSize
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
private DataReply getNdefMaxSize() {
DataReply dataReply = new DataReply();
int maxSize = 0;
if (currentTag != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD_MR1) {
Ndef ndef = Ndef.get(currentTag);
if (ndef != null) {
maxSize = ndef.getMaxSize();
if (maxSize <= 0){
dataReply.setError(TAG_READING_ERROR);
return dataReply;
}
}else {
dataReply.setError(TAG_READING_ERROR);
return dataReply;
}
try {
if (ndef != null) ndef.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
dataReply.setIntegerData(maxSize);
return dataReply;
}
示例3: writeTag
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
/**
* Writes an NdefMessage to a NFC tag
*/
public static void writeTag(NdefMessage message, Tag tag) throws Exception {
int size = message.toByteArray().length;
Ndef ndef = Ndef.get(tag);
if (ndef != null) {
ndef.connect();
if (!ndef.isWritable()) {
throw new NfcTagNotWritableException();
}
if (ndef.getMaxSize() < size) {
throw new NfcTagInsufficientMemoryException(ndef.getMaxSize(), size);
}
ndef.writeNdefMessage(message);
} else {
NdefFormatable format = NdefFormatable.get(tag);
if (format != null) {
format.connect();
format.format(message);
} else {
throw new IllegalArgumentException("Ndef format is NULL");
}
}
}
示例4: onCreate
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_nfctag_content);
mTagContent = (TextView) findViewById(R.id.textview_tag_content);
mDetectedTag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);
Ndef ndef = Ndef.get(mDetectedTag);
mTagText = ndef.getType() + "\nmax size:" + ndef.getMaxSize()
+ "bytes\n\n";
readNFCTag();
mTagContent.setText(mTagText);
}
示例5: writeNfcTag
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
private void writeNfcTag(@NonNull final Tag tag) {
final Ndef ndef = Ndef.get(tag);
if (ndef == null) {
showWriteError(getText(R.string.nfc_error_no_ndef));
return;
}
if (!ndef.isWritable()) {
showWriteError(getText(R.string.nfc_error_not_writable));
return;
}
final NdefMessage message = NdefUtils.toNdefMessage(mPassword);
final int messageLength = message.getByteArrayLength();
final int maxSize = ndef.getMaxSize();
if (messageLength > maxSize) {
showWriteError(
getString(R.string.nfc_error_not_enough_space_format, messageLength, maxSize));
return;
}
new TagWriteTask(this).execute(new TagWriteParam(ndef, message));
}
示例6: writeNFCTag
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
/**
* 往标签写数据的方法
*
* @param tag
*/
public void writeNFCTag(Tag tag) {
if (tag == null) {
return;
}
NdefMessage ndefMessage = new NdefMessage(new NdefRecord[]{NdefRecord
.createApplicationRecord(mPackageName)});
//转换成字节获得大小
int size = ndefMessage.toByteArray().length;
try {
//2.判断NFC标签的数据类型(通过Ndef.get方法)
Ndef ndef = Ndef.get(tag);
//判断是否为NDEF标签
if (ndef != null) {
ndef.connect();
//判断是否支持可写
if (!ndef.isWritable()) {
return;
}
//判断标签的容量是否够用
if (ndef.getMaxSize() < size) {
return;
}
//3.写入数据
ndef.writeNdefMessage(ndefMessage);
Toast.makeText(this, "写入成功", Toast.LENGTH_SHORT).show();
} else { //当我们买回来的NFC标签是没有格式化的,或者没有分区的执行此步
//Ndef格式类
NdefFormatable format = NdefFormatable.get(tag);
//判断是否获得了NdefFormatable对象,有一些标签是只读的或者不允许格式化的
if (format != null) {
//连接
format.connect();
//格式化并将信息写入标签
format.format(ndefMessage);
Toast.makeText(this, "写入成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "写入失败", Toast.LENGTH_SHORT).show();
}
}
} catch (Exception e) {
}
}
示例7: onNewIntent
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
@Override
public void onNewIntent(Intent intent) {
//获取Tag对象
Tag detectedTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
//获取Ndef的实例
Ndef ndef = Ndef.get(detectedTag);
mTagText = ndef.getType() + "\n max size:" + ndef.getMaxSize() + " bytes\n\n";
readNfcTag(intent);
mNfcText.setText(mTagText);
}
示例8: onNewIntent
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
@Override
public void onNewIntent(Intent intent) {
//1.获取Tag对象
Tag detectedTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
//2.获取Ndef的实例
Ndef ndef = Ndef.get(detectedTag);
mTagText = ndef.getType() + "\nmaxsize:" + ndef.getMaxSize() + "bytes\n\n";
readNfcTag(intent);
mNfcText.setText(mTagText);
}
示例9: writeNFCTag
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
/**
* 往标签写数据的方法
*
* @param tag
*/
public void writeNFCTag(Tag tag) {
if (tag == null) {
return;
}
NdefMessage ndefMessage = new NdefMessage(new NdefRecord[]{NdefRecord
.createUri(Uri.parse("http://www.baidu.com"))});
//转换成字节获得大小
int size = ndefMessage.toByteArray().length;
try {
//2.判断NFC标签的数据类型(通过Ndef.get方法)
Ndef ndef = Ndef.get(tag);
//判断是否为NDEF标签
if (ndef != null) {
ndef.connect();
//判断是否支持可写
if (!ndef.isWritable()) {
return;
}
//判断标签的容量是否够用
if (ndef.getMaxSize() < size) {
return;
}
//3.写入数据
ndef.writeNdefMessage(ndefMessage);
Toast.makeText(this, "写入成功", Toast.LENGTH_SHORT).show();
} else { //当我们买回来的NFC标签是没有格式化的,或者没有分区的执行此步
//Ndef格式类
NdefFormatable format = NdefFormatable.get(tag);
//判断是否获得了NdefFormatable对象,有一些标签是只读的或者不允许格式化的
if (format != null) {
//连接
format.connect();
//格式化并将信息写入标签
format.format(ndefMessage);
Toast.makeText(this, "写入成功",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "写入失败", Toast.LENGTH_SHORT).show();
}
}
} catch (Exception e) {
}
}
示例10: onNewIntent
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
/**
* Listen to NFC incomming data
*/
@Override
public void onNewIntent(Intent intent) {
MLog.d(TAG, "New intent " + intent);
if (intent.getAction() != null) {
MLog.d(TAG, "Discovered tag with intent: " + intent);
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
String nfcID = StrUtils.bytetostring(tag.getId());
// if there is a message waiting to be written
if (PNfc.nfcMsg != null) {
MLog.d(TAG, "->" + PNfc.nfcMsg);
PNfc.writeTag(this, tag, PNfc.nfcMsg);
if (onNFCWrittenListener != null) onNFCWrittenListener.onNewTag();
onNFCWrittenListener = null;
PNfc.nfcMsg = null;
// read the nfc tag info
} else {
// get NDEF tag details
Ndef ndefTag = Ndef.get(tag);
if (ndefTag == null) {
return;
}
int size = ndefTag.getMaxSize(); // tag size
boolean writable = ndefTag.isWritable(); // is tag writable?
String type = ndefTag.getType(); // tag type
String nfcMessage = "";
// get NDEF message details
NdefMessage ndefMesg = ndefTag.getCachedNdefMessage();
if (ndefMesg != null) {
NdefRecord[] ndefRecords = ndefMesg.getRecords();
int len = ndefRecords.length;
String[] recTypes = new String[len]; // will contain the
// NDEF record types
String[] recPayloads = new String[len]; // will contain the
// NDEF record types
for (int i = 0; i < len; i++) {
recTypes[i] = new String(ndefRecords[i].getType());
recPayloads[i] = new String(ndefRecords[i].getPayload());
MLog.d(TAG, "qq " + i + " " + recTypes[i] + " " + recPayloads[i]);
}
nfcMessage = recPayloads[0];
}
if (onNFCListener != null) onNFCListener.onNewTag(nfcID, nfcMessage);
}
}
}
示例11: writeNFCTag
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
private void writeNFCTag(Tag tag){
if(tag == null){
return;
}
NdefMessage ndefMessage = new NdefMessage( new NdefRecord[]{NdefRecord.createUri(Uri.parse("http://www.baidu.com"))} );
int size = ndefMessage.toByteArray().length;
try {
Ndef ndef = Ndef.get(tag);
//���ж�һ�������ǩ�Dz���NDEF��
if(ndef != null){ //�����NDEF��ʽ��
ndef.connect();
//�����ж������ǩ�Ƿ��ǿ�д��
if( ! ndef.isWritable()){ //����Dz���д�ģ�ֱ�ӾͿ��Խ�����
Toast.makeText(this , "��NFC��ǩ����д!" , Toast.LENGTH_SHORT).show();
return;
}
//�����жϵ�ǰ��ǩ����������Ƿ���װ������Ҫд�����Ϣ
if(ndef.getMaxSize() < size){
Toast.makeText(this , "��NFC��ǩ������д����̫С!" , Toast.LENGTH_SHORT).show();
return;
}
//����Ϊֹ���Ϳ��Է��ĵİѶ���д��NFC��ǩ����
ndef.writeNdefMessage(ndefMessage);
Toast.makeText(this , "NFC��ǩд�����ݳɹ�" , Toast.LENGTH_SHORT).show();
}
else{ //�������NDEF��ʽ��
//���Խ������NDEF��ǩ��ʽ����NDEF��ʽ��
NdefFormatable format = NdefFormatable.get(tag);
//��Ϊ��Щ��ǩ��ֻ���ģ�����������Ҫ�ж�һ��
//���format��Ϊnull����ʾ�����ǩ�ǿ��Խ��ܸ�ʽ����
if(format != null){
format.connect();
format.format(ndefMessage); //ͬʱ����˸�ʽ����д����Ϣ�IJ���
Toast.makeText(this , "NFC��ǩ��ʽ��д��ɹ�" , Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(this , "��NFC��ǩ������ʽ��" , Toast.LENGTH_SHORT).show();
}
}
}
catch (Exception e) {
Toast.makeText(this , "����ȡ��NFC��ǩ" , Toast.LENGTH_SHORT).show();
}
}
示例12: handleIntent
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
private void handleIntent(Intent intent) {
/*
* Else just read tag as usual.
* */
/*
This detects the intent and calls an nfc reading task
I modified this to keep the tag object exposed in this class.
This is since we will want to write to the same tag later.
*/
String action = intent.getAction();
// We want to read only valid html tags
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))
{
boolean mime_type_found = false;
String type = intent.getType();
if (MIME_TEXT_HTML.equals(type))
{
Toast.makeText(this, "Reading Html Tag", Toast.LENGTH_SHORT).show();
tag_compression_mode = CompressionMode_Enum.NONE;
mime_type_found = true;
}
else
if (MIME_TEXT_HTML_GZIP.equals(type))
{
Toast.makeText(this, "Reading Gzipped Html Tag", Toast.LENGTH_SHORT).show();
tag_compression_mode = CompressionMode_Enum.GZIP;
mime_type_found = true;
}
// if plain/html
if (mime_type_found) {
tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
new NdefReaderTask().execute(tag);
} else {
//Log.d(TAG, "Wrong mime type: " + type);
}
}
else
{
Log.e(LOGGER_TAG, "Skipping Tag as it is not NDEF");
}
/*
So some useful tag info
http://stackoverflow.com/questions/9971820/how-to-read-detected-nfc-tag-ndef-content-details-in-android
*/
if (tag != null) {
//Toast.makeText(this, "Reading Tag Info", Toast.LENGTH_SHORT).show();
// get NDEF tag details
Ndef ndefTag = Ndef.get(tag);
tag_writable = ndefTag.isWritable(); // is tag writable?
// get NDEF message details
NdefMessage ndefMesg = ndefTag.getCachedNdefMessage();
NdefRecord[] ndefRecords = ndefMesg.getRecords();
int len = ndefRecords.length;
recTypes = new String[len]; // will contain the NDEF record types
for (int i = 0; i < len; i++) {
recTypes[i] = new String(ndefRecords[i].getType());
}
// Get Tag ID
tagID_string = bytesToHex(tag.getId());
tag_size = ndefTag.getMaxSize(); // tag size
tag_type = ndefTag.getType(); // tag type
}
}
示例13: onCreate
import android.nfc.tech.Ndef; //导入方法依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_nfctext);
tv_context = (TextView) findViewById(R.id.tv_context);
tv_text = (TextView) findViewById(R.id.tv_text);
myTag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);
Ndef ndef = Ndef.get(myTag);
mTagText = "标签类型:"+ndef.getType()+"\n最大容量:"+ndef.getMaxSize()+"bytes\n";
readNFCTag();
tv_context.setText(mTagText);
}