Tho*_*sRS 15
该NDEF工具为Android实用项目有助于执行以下操作
该项目还包括所有标准化NDEF记录类型的数据绑定,与使用Android SDK中包含的(基于字节数组的)NDEF类相比,这真正简化了事情.
另请参阅用于图形NDEF编辑器的NFC Eclipse插件 - 附带一个实用程序应用程序,可读取和写入标签和光束,还具有NFC阅读器集成.
顺便说一下,您正在寻找用于启动应用程序的Android应用程序记录.启动"功能"不需要任何真正的实现; 它内置于Android> = 4.0,因此将该记录放在标签上就足够了.
Md.*_*rim 11
首先,您必须获得NFC的AndroidManifest.xml文件的权限.权限是:
<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc" />
Run Code Online (Sandbox Code Playgroud)
将执行NFC读/写操作的Activity,在AndroidManifest.xml文件中的该活动中添加此intent过滤器:
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
在您的活动onCreate()方法中,您必须初始化NFC适配器并定义Pending Intent:
NfcAdapter mAdapter;
PendingIntent mPendingIntent;
mAdapter = NfcAdapter.getDefaultAdapter(this);
if (mAdapter == null) {
//nfc not support your device.
return;
}
mPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this,
getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
Run Code Online (Sandbox Code Playgroud)
在onResume()中回调启用Foreground Dispatch以检测NFC意图.
mAdapter.enableForegroundDispatch(this, mPendingIntent, null, null);
Run Code Online (Sandbox Code Playgroud)
在onPause()回调中,您必须禁用forground dispatch:
if (mAdapter != null) {
mAdapter.disableForegroundDispatch(this);
}
Run Code Online (Sandbox Code Playgroud)
在onNewIntent()回调方法中,您将获得新的Nfc Intent.获得The Intent后,您必须解析检测卡的意图:
@Override
protected void onNewIntent(Intent intent){
getTagInfo(intent)
}
private void getTagInfo(Intent intent) {
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
}
Run Code Online (Sandbox Code Playgroud)
现在你有了标签.然后,您可以检查Tag Tech列表以检测该Tag.标签检测技术在我的另一个答案中 完整的完整项目在My github配置文件中
我认为你找到的代码指的是2.3.3之前的时代。此时还无法编写标签,但在 Android 2.3.3 中这是可能的。无需尝试破解系统并编写这样的标签。
查看 NFC 演示项目:http://developer.android.com/resources/samples/NFCDemo/index.html
| 归档时间: |
|
| 查看次数: |
52787 次 |
| 最近记录: |