Loading core/java/android/nfc/NfcAdapter.java +31 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,10 @@ import java.lang.UnsupportedOperationException; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.app.ActivityThread; import android.content.Context; import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.nfc.INfcAdapter; import android.os.IBinder; import android.os.RemoteException; Loading Loading @@ -151,6 +154,26 @@ public final class NfcAdapter { mService = service; } /** * Helper to check if this device has FEATURE_NFC, but without using * a context. * Equivalent to * context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC) */ private static boolean hasNfcFeature() { IPackageManager pm = ActivityThread.getPackageManager(); if (pm == null) { Log.e(TAG, "Cannot get package manager, assuming no NFC feature"); return false; } try { return pm.hasSystemFeature(PackageManager.FEATURE_NFC); } catch (RemoteException e) { Log.e(TAG, "Package manager query failed, assuming no NFC feature", e); return false; } } /** * Get a handle to the default NFC Adapter on this Android device. * <p> Loading @@ -165,9 +188,16 @@ public final class NfcAdapter { } sIsInitialized = true; /* is this device meant to have NFC */ if (!hasNfcFeature()) { Log.v(TAG, "this device does not have NFC support"); return null; } /* get a handle to NFC service */ IBinder b = ServiceManager.getService("nfc"); if (b == null) { Log.d(TAG, "NFC Service not available"); Log.e(TAG, "could not retrieve NFC service"); return null; } Loading Loading
core/java/android/nfc/NfcAdapter.java +31 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,10 @@ import java.lang.UnsupportedOperationException; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.app.ActivityThread; import android.content.Context; import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.nfc.INfcAdapter; import android.os.IBinder; import android.os.RemoteException; Loading Loading @@ -151,6 +154,26 @@ public final class NfcAdapter { mService = service; } /** * Helper to check if this device has FEATURE_NFC, but without using * a context. * Equivalent to * context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC) */ private static boolean hasNfcFeature() { IPackageManager pm = ActivityThread.getPackageManager(); if (pm == null) { Log.e(TAG, "Cannot get package manager, assuming no NFC feature"); return false; } try { return pm.hasSystemFeature(PackageManager.FEATURE_NFC); } catch (RemoteException e) { Log.e(TAG, "Package manager query failed, assuming no NFC feature", e); return false; } } /** * Get a handle to the default NFC Adapter on this Android device. * <p> Loading @@ -165,9 +188,16 @@ public final class NfcAdapter { } sIsInitialized = true; /* is this device meant to have NFC */ if (!hasNfcFeature()) { Log.v(TAG, "this device does not have NFC support"); return null; } /* get a handle to NFC service */ IBinder b = ServiceManager.getService("nfc"); if (b == null) { Log.d(TAG, "NFC Service not available"); Log.e(TAG, "could not retrieve NFC service"); return null; } Loading