Don't start Android Beam Activity if feature is not supported
Test: manual; application using NFCSHARING intent
Bug: 117519147
Change-Id: I2caa881c73e3d5976b7b2666351e773e504a8925
diff --git a/src/com/android/settings/nfc/AndroidBeam.java b/src/com/android/settings/nfc/AndroidBeam.java
index 2b7f872..a157c7f 100644
--- a/src/com/android/settings/nfc/AndroidBeam.java
+++ b/src/com/android/settings/nfc/AndroidBeam.java
@@ -18,6 +18,8 @@
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+import android.content.Context;
+import android.content.pm.PackageManager;
import android.nfc.NfcAdapter;
import android.os.Bundle;
import android.os.UserHandle;
@@ -52,8 +54,10 @@
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- mNfcAdapter = NfcAdapter.getDefaultAdapter(getActivity());
- if (mNfcAdapter == null)
+ final Context context = getActivity();
+ mNfcAdapter = NfcAdapter.getDefaultAdapter(context);
+ final PackageManager pm = context.getPackageManager();
+ if (mNfcAdapter == null || !pm.hasSystemFeature(PackageManager.FEATURE_NFC_BEAM))
getActivity().finish();
setHasOptionsMenu(true);
}