【问题标题】:NFC P2P tag interceptNFC P2P标签拦截
【发布时间】:2015-05-12 09:24:46
【问题描述】:

我正在使用 Eclipse 和 Android SDK 构建一个 Android 应用程序。我想在我的应用程序中实现 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);
 }

我花了很多时间试图找到并理解拦截标签的解决方案。不成功。

感谢您的帮助。

【问题讨论】:

    标签: android android-intent nfc ndef nfc-p2p


    【解决方案1】:

    您可以使用前台调度系统在您的活动中接收 NDEF 消息:

    1. onResume():

      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);
      
    2. 收到意图后做某事:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      相关资源
      最近更新 更多