NFCTest の adam rocker ソース コードを使用して、いくつかのチュートリアルに従いました。NFCタグの読み書きとアプリの起動ができるようになりたいです。
5 に答える
NDEF Tools for Androidユーティリティ プロジェクトは、次のことを行うのに役立ちます。
このプロジェクトには、すべての標準化された NDEF レコード タイプのデータ バインディングも含まれています。これにより、Android SDK に含まれる (バイト配列ベースの) NDEF クラスを操作する場合と比較して、作業が大幅に簡素化されます。
また、グラフィカルな NDEF エディター用のNFC Eclipse プラグインも参照してください。タグとビームの読み取りと書き込みを行うユーティリティアプリが付属しており、NFC リーダーも統合されています。
ところで、アプリを起動するための Android アプリケーション レコードを探しています。起動「機能」は、実際の実装を必要としません。Android >= 4.0 に組み込まれているため、そのレコードをタグに配置するだけで十分です。
まず、NFC の AndroidManifest.xml ファイルで権限を取得する必要があります。権限は次のとおりです。
<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc" />
NFC 読み取り/書き込み操作を実行するアクティビティで、AndroidManifest.xml ファイルのそのアクティビティにこのインテント フィルターを追加します。
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
アクティビティの 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);
onResume() Call back で、Foreground Dispatch が NFC インテントを検出できるようにします。
mAdapter.enableForegroundDispatch(this, mPendingIntent, null, null);
onPause() コールバックでは、フォアグラウンド ディスパッチを無効にする必要があります。
if (mAdapter != null) {
mAdapter.disableForegroundDispatch(this);
}
onNewIntent() コールバック メソッドで、新しい Nfc インテントを取得します。The Intent を取得したら、インテントを解析してカードを検出する必要があります。
@Override
protected void onNewIntent(Intent intent){
getTagInfo(intent)
}
private void getTagInfo(Intent intent) {
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
}
これでタグができました。次に、Tag Tech リストを確認して、そのタグを検出できます。タグ検出手法は、My Another Answer にあります 完全なプロジェクトは、ここにありますMy github profile
あなたが見つけたコードは2.3.3以前の時代を参照していると思います。この時点ではタグを書き込むことができませんでしたが、Android2.3.3ではこれが可能です。システムをハッキングしてこのようなタグを書く必要はありません。
NFCデモプロジェクトをご覧ください:http://developer.android.com/resources/samples/NFCDemo/index.html