拿到一台支持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;
}
}
setp1:NFcEnable实例 packages/apps/Settings/src/com/android/settings/nfc/NfcEnabler.java 实现Preference.OnPreferenceChangeListener接口监听NFC Enable,d

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

被折叠的 条评论
为什么被折叠?



