-
Notifications
You must be signed in to change notification settings - Fork 1
Android Integration
denys.kramar edited this page Jun 25, 2025
·
1 revision
Add the PerchEye SDK to your Android project:
dependencies {
implementation(files("libs/perch-eye-1.0.3-4.aar"))
}import com.percheye.android.PerchEye
class MainActivity : AppCompatActivity() {
private lateinit var perchEye: PerchEye
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Initialize SDK
perchEye = PerchEye(context)
perchEye.init()
}
override fun onDestroy() {
super.onDestroy()
perchEye.destroy() // Always cleanup
}
}fun detectFace(bitmap: Bitmap): ImageResult {
perchEye.openTransaction()
val result = perchEye.addImage(bitmap)
when (result) {
ImageResult.SUCCESS -> Log.d("PerchEye", "Face detected")
ImageResult.FACE_NOT_FOUND -> Log.d("PerchEye", "No face found")
else -> Log.d("PerchEye", "Error: $result")
}
return result
}fun enrollFace(bitmap: Bitmap): String? {
perchEye.openTransaction()
val result = perchEye.addImage(bitmap)
if (result == ImageResult.SUCCESS) {
val hash = perchEye.enroll()
// Save hash for later verification
return hash
}
return null
}fun verifyFace(bitmap: Bitmap, storedHash: String): Float {
perchEye.openTransaction()
val result = perchEye.addImage(bitmap)
if (result == ImageResult.SUCCESS) {
val similarity = perchEye.verify(storedHash)
return similarity // 0.8+ recommended threshold
}
return 0.0f
}// 1. Enroll a face
val enrolledHash = enrollFace(userPhoto)
// 2. Later, verify identity
val similarity = verifyFace(newPhoto, enrolledHash)
val isAuthenticated = similarity >= 0.8f