0

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

让我稍微解释一下。当我接近移动标签时,我将数据传递给卡。但是如果我想再次传输数据,我必须将手机挡住并将其带回Tag。

有什么方法可以不用每次我去传递数据时移动标签吗?

非常感谢!

问候。

编辑

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

 @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();

        }

      }
    }
  }

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

非常感谢!

4

1 回答 1

0

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

如果您的标签是 NFC 标签 ( Ndef),您可以为每个标签激活使用多次读取/写入。类似地,如果您使用任何其他通信协议 ( IsoDep, NfcA, ...),您可以多次调用 transceive-method 以交换多个命令。


编辑

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

于 2013-10-30T15:28:22.143 回答