<html devsite>
  <head>
    <title>Host Card Emulation of FeliCa</title>
    <meta name="project_path" value="/_project.yaml" />
    <meta name="book_path" value="/_book.yaml" />
  </head>
  <body>
  <!--
      Copyright 2017 The Android Open Source Project

      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
  -->



<p>Felicity Card, or FeliCa, an RFID smart card system, is the NFC standard in
Japan, Hong Kong and other markets in the Asia-Pacific (APAC) region. It has
been expanding in adoption in that region and is well used among transit,
retail, and loyalty services. Adding support for FeliCa in Android devices
destined for that region improves their usefulness.</p>

<h2 id="implementation">Implementation</h2>

<p>HCE FeliCa requires NFC hardware that supports the NFC-F (JIS 6319-4) standard.</p>

<p>Host Card Emulation (HCE) of FeliCa is essentially a parallel implementation to
the existing HCE implementation on Android; it creates new classes for FeliCa
where it makes sense and merges with the existing HCE implementation where
possible.</p>

<p>The following Android components are included in the Android Open Source Project
(AOSP):</p>

<ul>
  <li>Framework classes
    <ul>
      <li>Public HostNfcFService (convenience service class)
      <li>@hide NfcFServiceInfo
    </ul>
  <li>Modifications to core NFC framework</li></ul>
  </li>
</ul>

<p>As with most Android platform features, manufacturers write the drivers to
make the hardware work with the API.</p>

<h2 id="validation">Validation</h2>

<p>Use the <a href="/compatibility/cts/index.html">Android Compatibility
Test Suite</a> to ensure this feature works as intended. CTS Verifier
(NfcTestActivity) tests this implementation for devices reporting the
<code>android.hardware.nfc.hcef</code> feature constant.</p>

  </body>
</html>
