2013-10-30 2 views
0

NFC를 사용하는 Android 앱에서 작업 중이며 이동하지 않고 태그와 앱간에 데이터를 전송할 방법이 있는지 알고 싶습니다.움직임이없는 NFC 태그를 감지합니다.

조금 설명해 드리겠습니다. 모바일 태그에 접근하면 데이터를 카드로 전달합니다. 그러나 데이터를 다시 전송하려면 휴대 전화를 끄고 태그로 다시 가져와야합니다.

데이터를 전달할 때마다 태그를 움직일 필요가없는 방법이 있습니까?

대단히 감사합니다!

감사합니다.

편집

예를 들어, 내 코드에서 나는이 있습니다

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

     } 

     } 
    } 
    } 

을하지만 난 내 태그에 다시 데이터를 전송하려는 경우 나는 휴대 전화를 사용합니다. 이동없이 데이터를 태그로 전송하고 태그를 항상 휴대 전화와 함께 유지하려면 어떻게해야합니까?

대단히 감사합니다!

답변

0

태그를 탭할 때마다 데이터를 한 번만 전송할 수 있다고 생각하십니까?

태그가 NFC 태그 (Ndef)이면 각 태그 활성화에 대해 여러 가지 읽기/쓰기를 사용할 수 있습니다. 마찬가지로 다른 통신 프로토콜 (IsoDep, NfcA, ...)을 사용하면 여러 명령을 교환하기 위해 여러 번 송수신 방법을 호출 할 수 있습니다. 귀하의 예제 코드에 관한


편집

, 당신은 단순히 당신의 writeTag(...) 방법을 여러 번 호출 할 것이다. 물론 이것은 태그가 동적으로 데이터를 처리하는 경우에만 의미가 있습니다.

+0

예, 그러나 detectTag를 저장하여 writeTag (..) 함수를 다시 실행하는 방법을 모르겠다. – Enzo

+0

저장하지 마십시오 (별도의 스레드에 전달할 수도 있습니다). 왜 그러고 싶니? 태그와의 트랜잭션은 일반적으로 태그가 짧은 기간 동안 만 탭된다는 가정하에 짧게 유지되어야합니다. –

+0

그러나 버튼을 클릭 할 때마다 태그에 오랜 기간 동안 데이터를 전송하고 데이터를 전송하고 싶습니까? 그건 가능하지 않니? – Enzo

관련 문제