Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
“Nfc for Everybody” Design Document                              NFC(          FeliCa    )               /          NFC   ...
Google I/O 2011                                               ADK                         FeliCa Push                     ...
Nächste SlideShare
Wird geladen in …5
×

GDD2011 OpenCall ADK "NFC for Everybody" design document

2.194 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie, Business
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

GDD2011 OpenCall ADK "NFC for Everybody" design document

  1. 1. “Nfc for Everybody” Design Document NFC( FeliCa ) / NFC Nexus One XOOM NFC Components USB Serial FeliCa / Accessory ADK Board RC-S620/S ( ) IDm( ) NDEF Message NDEF Intent NFC Suica Readertaglet NFC↑
  2. 2. Google I/O 2011 ADK FeliCa Push https://github.com/zaki50/FeliCaPushWithAndroidAccessory (NDEF_DISCOVERED) Flow (Android application) in Accessory 1. private List<ActivityInfo> findForNdef(String mimetype) { final Intent i = new Intent(NfcAdapter.ACTION_NDEF_DISCOVERED); 2. i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setType(mimetype); 3. IDm( final List<ResolveInfo> resolvedActivities; resolvedActivities = getPackageManager().queryIntentActivities(i, NDEF Messages) PackageManager.GET_META_DATA); final List<ActivityInfo> result = new ArrayList<ActivityInfo>(); 4. Android for (ResolveInfo resAct : resolvedActivities) { result.add(resAct.activityInfo); } 5. in Device return result; } 6. Intent 7.Intent startActivity (Android application) private Intent createIntentForTag(byte[] idm, NdefMessage[] msgs) throws IllegalAccessException, InvocationTargetException { IDm build materials // sTagFactory is Method instance of Tag#createMockTag(...) final Tag tag = (Tag) sTagFactory.invoke(null, new Object[] { (a part of Arduino firmware) idm, //RC-S620/S static RCS620S rcs620s; // new int[] { 4Arduino RC-S620/S int waitCardReleased = 0; /* TagTechnology.NFC_F */}, // new Bundle[] { (OpenSource) int do_polling() } new Bundle() { });RC-S620/S rcs620s.timeout = COMMAND_TIMEOUT; final Intent i = new Intent(NfcAdapter.ACTION_TECH_DISCOVERED);   ret = rcs620s.polling(); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.putExtra(NfcAdapter.EXTRA_ID, idm); if (!ret) {return 0;} i.putExtra(NfcAdapter.EXTRA_TAG, tag); // idm can be read from rc620s.idm i.putExtra(NfcAdapter.EXTRA_NDEF_MESSAGES, msgs); return 1; return i; } }

×