আপনার অ্যাপ মেনিফেস্টে নির্দিষ্ট করতে NFC হচ্ছে অপশনাল, আপনি নিম্নোক্ত এলিমেন্ট ব্যবহার করতে পারেন:
<uses feature android:name="android.hardware.nfc" android:required="false" />
আপনি যদি android:required="false"সেট করেন, আপনাকে অবশ্যই কোডে NFC সাপোর্ট এবং অ্যান্ড্রয়েড বিম ফাইল ট্রান্সফার সাপোর্টের জন্য পরীক্ষা করতে হবে।
কোডে অ্যান্ড্রয়েড বিম ফাইল ট্রান্সফার সাপোর্টের জন্য পরীক্ষা করতে, পরীক্ষা দ্বারা শুরু করুন যাতে আরগুমেন্ট FEATURE NFC সহকারে PackageManager.hasSystemFeature()কল করার মাধ্যমে ডিভাইস NFC কে সাপোর্ট করে। পরে, চেক করুন যে অ্যান্ড্রয়েড ভার্সন SDK INT এর ভ্যালু পরীক্ষা করার মাধ্যমে অ্যান্ড্রয়েড বিম ফাইল ট্রান্সফারকে সাপোর্ট করে। যদি অ্যান্ড্রয়েড বিম ফাইল ট্রান্সফার সাপোর্ট পায়, NFC কনট্রোলারের একটি ইনসটেন্স লাভ করে যা আপনাকে NFC হার্ডওয়ারের সাথে যোগাযোগ করতে দিবে। উদাহরণস্বরূপ:
public class MainActivity extends Activity {
...
NfcAdapter mNfcAdapter;
// Flag to indicate that Android Beam is available
boolean mAndroidBeamAvailable = false;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
...
// NFC isn't available on the device
if (!PackageManager.hasSystemFeature(PackageManager.FEATURE_NFC)) {
/*
* Disable NFC features here.
* For example, disable menu items or buttons that activate
* NFC-related features
*/
...
// Android Beam file transfer isn't supported
} else if (Build.VERSION.SDK_INT <
Build.VERSION_CODES.JELLY_BEAN_MR1) {
// If Android Beam isn't available, don't continue.
mAndroidBeamAvailable = false;
/*
* Disable Android Beam file transfer features here.
*/
...
// Android Beam file transfer is available, continue
} else {
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
...
}
}
...
}