2015-05-12 111 views
0

我正在使用Eclipse和Android SDK構建Android應用程序。我想在我的應用中實現NFC P2P功能,因爲當您將兩部手機背靠背放置時,都會自動發送一個字符串並接收一個字符串。這當然會發生在單獨的活動中。我設法發送一個自定義標籤(字符串),但一直無法攔截並在應用程序代碼中使用它。我怎樣才能做到這一點?NFC P2P標籤攔截

這是我到目前爲止有:

public class MainActivity extends Activity { 

public NfcAdapter mAdapter; 
PendingIntent mPendingIntent; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    mAdapter = NfcAdapter.getDefaultAdapter(this); 

    NdefRecord rec = NdefRecord.createUri("www.stackoverflow.com"); 
    NdefMessage ndef = new NdefMessage(rec); 

    mAdapter.setNdefPushMessage(ndef, this); 
} 

我花了很多時間試圖找到和理解的解決方案,攔截標記。不成功。

謝謝你的幫助。

回答

0

可以使用前景調度系統收到你的活動中NDEF消息:在收到意向

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0); 
NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this); 
nfcAdapter.enableForegroundDispatch(this, pendingIntent, null, null); 
  • 做一些:

    public void onNewIntent(Intent intent) { 
        ... 
    } 
    
    1. onResume()