2016-06-21 64 views
12

我刚才通过在http://www.androidofficer.com/2016/06/g900vvru2dpd1-android-601-marshmallow.html版本的Android M FingerprintManager.isHardwareDetected()的返回false一个三星Galaxy S5

上市的时候我跑的手动指令更新Verizion三星Galaxy S5(SM-G900V)到G900VVRU2DPD1版本代码如下,isHardwareDetected()返回'false'。我希望它会返回'真实'。

我已经完成的谷歌搜索没有产生任何信息,因为在棉花糖下支持S5指纹读取器。

有没有人有任何关于S5支持的指纹识别器的信息?

FingerprintManager manager = (FingerprintManager) getSystemService(FINGERPRINT_SERVICE); 
    if (manager != null) { 

     if (ActivityCompat.checkSelfPermission(this, permission.USE_FINGERPRINT) != 
       PackageManager.PERMISSION_GRANTED) { 
      retVal.append(INDENT).append("Fingerprint permission was not granted") 
        .append(EOL); 
     } else { 
      retVal.append(INDENT).append("Fingerprint hardware detected: ") 
        .append(manager.isHardwareDetected()).append(EOL); 
      retVal.append(INDENT).append("Has Enrolled Fingerprint(s): ") 
        .append(manager.hasEnrolledFingerprints()).append(EOL); 
     } 
    } else { 
     retVal.append(INDENT).append("no FingerprintManager available").append(EOL); 
    } 
+0

你解决了这个问题吗?我有同样的问题 – Miguel

回答

8

终于解决了。它看起来像android的默认API不能处理一些三星设备,所以解决方案是为这个问题添加三星库。

你可以找到一些文档和这里的库:http://developer.samsung.com/galaxy/pass

后增添库,你有一个新的许可添加到您的清单:

<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" /> 

最后,你可以使用此方法:

private boolean isFingerprintSupported() { 
    boolean isFingerprintSupported = fingerprintManager != null && fingerprintManager.isHardwareDetected(); 
    if (!isFingerprintSupported && SsdkVendorCheck.isSamsungDevice()) { 
    Spass spass = new Spass(); 
    try { 
     spass.initialize(context); 
     isFingerprintSupported = spass.isFeatureEnabled(Spass.DEVICE_FINGERPRINT); 
    } catch (SsdkUnsupportedException | UnsupportedOperationException e) { 
     // Error handling 
    } 
    } 
    return isFingerprintSupported; 
} 
+0

嘿米格尔,这将适用于其他非三星设备? – Kennedy

+1

@Kennedy否,http://developer.samsung.com/galaxy/pass说什么设备可以使用他们的SDK:“任何三星移动设备,支持指纹传感器和指纹服务与Android 4.2(Jelly Bean API 17)以上。” – Jules