首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Android中获取NFC的UID

在Android中获取NFC的UID
EN

Stack Overflow用户
提问于 2013-08-20 21:38:22
回答 1查看 6.7K关注 0票数 0

我正在通过官方的Android开发者教程学习android和NFC编程。我想要的是写一个应用程序,将由NFC标签触发。当应用程序启动时,我希望它显示一条toast消息,其中包含扫描的标签的UID。我实现这一点的简单代码是:

代码语言:javascript
运行
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  Tag tag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);
  Toast.makeText(getApplicationContext(), "UID: " + bin2hex(tag.getId()),    Toast.LENGTH_SHORT).show();
}
// Parsing binary to string
static String bin2hex(byte[] data) {
    return String.format("%0" + (data.length * 2) + "X", new BigInteger(1,data));
}

我还更新了清单文件以启用NFC,如下所示:

代码语言:javascript
运行
复制
<uses-permission android:name="android.permission.NFC"/>
  ....
<uses-feature android:name="android.hardware.nfc" android:required="true" />

<application  
    <activity
        android:name="com.testapp.testnfc.MainActivity"
        android:label="@string/app_name" >
        .....
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:mimeType="text/plain" />
   </intent-filter>
    </activity>
</application>

然后,我使用Play Store中的"NFC Task Launcher“应用程序来写入我的标签,以便该标签将触发我的新应用程序。创建标签后,点击它将成功启动我的新应用程序,但应用程序无法显示UID的吐司,它将崩溃,并显示“不幸地测试NFC已停止”。我错过了什么导致这次崩溃?

EN

回答 1

Stack Overflow用户

发布于 2013-12-05 22:04:59

像这样试一下:

代码语言:javascript
运行
复制
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) {
        Tag tag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);
        Toast.makeText(this,bin2hex(tag.getId()),Toast.LENGTH_LONG).show();
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18336522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档