getPackageManager().hasSystemFeature(NFC_SERVICE) не работает в Samsung S5
По какой-то причине getPackageManager(). HasSystemFeature(NFC_SERVICE) возвращает значение NULL в SamSung S5, хотя NFC включен, как на снимке экрана ниже.
И вот код, который я использую, чтобы проверить, доступна ли служба NFC, и она не проходит первый тест
//check for the existence of
// NFC adapter and beaming capability
if (!getPackageManager().hasSystemFeature(NFC_SERVICE)){
//this device is not equipped with NFC
makeToast("This device does not have NFC hardware.");
return;
}
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
// Android Beam feature is not supported.
makeToast("Android Beam is not supported in this device");
return;
}
// Check whether NFC is enabled on device
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (!mNfcAdapter.isEnabled()){
makeToast("Please enable NFC");
}
if(!mNfcAdapter.isNdefPushEnabled()) {
// Android Beam is disabled, show the settings UI
// to enable Android Beam
makeToast("Please enable Android Beam.");
startActivity(new Intent(Settings.ACTION_NFCSHARING_SETTINGS));
return;
}
Что-нибудь, что я должен сделать по-другому?
1 ответ
Решение
NFC_SERVICE
не является допустимым значением для передачи hasSystemFeature()
, использование FEATURE_NFC
,