无需移动即可检测NFC标签

时间:2013-10-30 13:13:25

标签: java android nfc

我正在使用NFC开发Android应用程序,我想知道标签和应用程序之间是否有任何方式传输数据而没有任何移动。

让我解释一下。 当我接近移动标签时,我将数据传递到卡上。但是,如果我想再次传输数据,我必须避开移动电话并将其带回标签。

每次我传递数据时,有没有办法不移动标签?

非常感谢!

问候。

修改

例如,在我的代码中我有这个:

 @Override
  protected void onNewIntent(Intent intent){

    AlertDialog.Builder dialog = new AlertDialog.Builder(WriteTagActivity.this);

    if (_writeMode) {

      if (intent.getAction().equals(NfcAdapter.ACTION_TAG_DISCOVERED)) {

        Tag detectedTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

        try {

            if((writeTag(buildNdefMessage(), detectedTag))){

                dialog.setTitle(getString(R.string.transfer_alert))
                  .setMessage(getString(R.string.transfer_alert_text)).setCancelable(false)
                  .setIcon(R.drawable.action_about)
                  .setPositiveButton(getString(R.string.transfer_alert_button), new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int id) {

                        finish();

                    }

                  }).create().show();

            }else{

                dialog.setTitle(getString(R.string.transfer_alert_2))
                  .setMessage(getString(R.string.transfer_alert_text_2)).setCancelable(false)
                  .setIcon(R.drawable.action_about)
                  .setPositiveButton(getString(R.string.transfer_alert_button_yes_2), new DialogInterface.OnClickListener() {

                    public void onClick(DialogInterface dialog, int id) {

                        dialog.cancel();

                    }

                  }).setNegativeButton(getString(R.string.transfer_alert_button_no_2), new DialogInterface.OnClickListener() {

                     public void onClick(DialogInterface dialog, int id) {

                         finish();

                     }

                  }).create().show();
            }

        } catch (Exception e) {

            e.printStackTrace();

        }

      }
    }
  }

但如果我想再次将数据传输到我的标签,我必须移动手机。如何在不移动的情况下将数据传输到我的标签,并将标签始终与我的手机一起使用?

非常感谢!

1 个答案:

答案 0 :(得分:0)

是什么让您相信每次点按标签只能传输一次数据?

如果您的代码是NFC代码(Ndef),则可以为每个代码激活使用多次读取/写入。同样,如果您使用任何其他通信协议(IsoDepNfcA,...),您可以多次调用收发方法来交换多个命令。


修改

关于您的示例代码,您只需多次调用writeTag(...)方法即可。当然,只有当您的标签动态处理数据时,这才有意义。