Col*_*onD 10 android version hardware-interface samsung-mobile-sdk android-fingerprint-api
我假设在marshmallow支持指纹API之前没有带OS的手机.
我的问题是:
(a)使用棉花糖发布的所有/任何三星手机都支持android指纹API
(b)操作系统升级为棉花糖的三星手机是否支持Android指纹API?
我读过这些:
在Samsung S5上使用Android 6.0 Fingerprint API时未检测到指纹扫描程序
对于Samsung Note 4,Android FingerPrint API isHardwareDetected返回false
但没有明确的答案.三星的网站还提到所有三星设备都支持Pass SDK,但没有提到android指纹API支持
从我的答案下面的评论中更清楚地了解要求后,这是更新的答案
Pass是负责三星设备指纹功能的 SDK。您可以做什么,您可以检查设备是否正在使用PassSDK。
下面是检查它的代码:
FingerprintManager fingerprintManager = (FingerprintManager) getApplicationContext().getSystemService(Context.FINGERPRINT_SERVICE);
boolean isFingerprintSupported = fingerprintManager != null && fingerprintManager.isHardwareDetected();
if (!isFingerprintSupported && SsdkVendorCheck.isSamsungDevice()) { // for samsung devices which doesn't support Native Android Fingerprint API
Spass spass = new Spass();
try {
spass.initialize(context);
isFingerprintSupported = spass.isFeatureEnabled(Spass.DEVICE_FINGERPRINT);
} catch (SsdkUnsupportedException | UnsupportedOperationException e) {
//Error handling here
}
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // for devices which doesn't support Pass SDK
FingerprintManager fingerprintManager = (FingerprintManager) getApplicationContext().getSystemService(Context.FINGERPRINT_SERVICE);
if (!fingerprintManager.isHardwareDetected()) {
// This device is not supporting fingerprint authentication
} else if (!fingerprintManager.hasEnrolledFingerprints()) {
// User hasn't enrolled any fingerprints to authenticate with
} else {
// Everything is ready for fingerprint authentication
}
}
}
Run Code Online (Sandbox Code Playgroud)
将以下权限添加到 AndroidManifest.xml。
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
Run Code Online (Sandbox Code Playgroud)
我希望这个能帮上忙。
| 归档时间: |
|
| 查看次数: |
1979 次 |
| 最近记录: |