NFC学习——NFC Enable 过程分析(一)

本文详细分析了在Android设备上启用NFC的过程,从Settings配置的NFC功能项开始,探讨了NfcEnabler如何监听NFC启用和禁用事件,接着深入到NfcAdapter的获取,特别是NfcManager.getDefaultAdapter的实现。接下来,文章预告了在NFC启用过程中涉及的initialize()方法在NativeNfcManager和JNI层的实现,这部分内容将在后续的文章中继续分析。
摘要由CSDN通过智能技术生成

         拿到一台支持NFC手机或是平板设备时,在Settings->more可以看到NFC的enble,disnable的选项,还有android Beam这个东西。现在来分析NFC enable的过程   

          wireless_settings.xml 在Settings配置了NFC功能项:

    <CheckBoxPreference
        android:key="toggle_nfc"
        android:title="@string/nfc_quick_toggle_title"
        android:summary="@string/nfc_quick_toggle_summary"
        android:persistent="false" />

    <PreferenceScreen
        android:fragment="com.android.settings.nfc.AndroidBeam"
        android:key="android_beam_settings"
        android:title="@string/android_beam_settings_title" />
         xml配置的对应处理代码在:packages/apps/Settings/src/com/android/settings/WirelessSettings.java

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        addPreferencesFromResource(R.xml.wireless_settings); 
        CheckBoxPreference nfc = (CheckBoxPreference) findPreference(KEY_TOGGLE_NFC);
        PreferenceScreen androidBeam = (PreferenceScreen) findPreference(KEY_ANDROID_BEAM_SETTINGS); 

        //setp1:获取NfcEnable的实例
        mNfcEnabler = new NfcEnabler(activity, nfc, androidBeam); 
        ......

        // Remove NFC if its not available            
        //setp2:获取NfcAdapter实例,查看NFC功能是否可能
        mNfcAdapter = NfcAdapter.getDefaultAdapter(activity);
        if (mNfcAdapter == null) {
            getPreferenceScreen().removePreference(nfc);
            getPreferenceScreen().removePreference(androidBeam);
            mNfcEnabler = null;
        } 
 }

set

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值