2016-06-21 53 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

相關問題