यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
बायोमेट्रिक्स (फ़िंगरप्रिंट / Face ID) से प्रमाणीकरण कैसे करें
उद्देश्य। किसी संवेदनशील क्रिया को बायोमेट्रिक प्रमाणीकरण (फ़िंगरप्रिंट, Face ID/Touch ID, या डेस्कटॉप पर Windows Hello) माँगकर सुरक्षित करना। परिणाम callback के माध्यम से, अतुल्यकालिक रूप से आता है।
उपयोग की गई APIs
boolean Biometry.isAvailable()—trueयदि डिवाइस में कम से कम एक बायोमेट्रिक विधि उपलब्ध है। प्रमाणीकरण से हमेशा पहले कॉल करें।void Biometry.authenticate(String reason, String cancel, boolean onlyBiometric, Biometry.Callback callback)— मूल बायोमेट्रिक्स UI दिखाता है।reason— यह बताने वाला टेक्स्ट कि प्रमाणीकरण क्यों आवश्यक है।cancel— रद्द करने वाले बटन का लेबल।onlyBiometric—true= केवल बायोमेट्रिक्स (PIN/पासवर्ड के लिए कोई fallback नहीं);false= PIN/पासवर्ड की अनुमति देता है।
Biometry.Callback.onResult(AuthResult result, String message)— अतुल्यकालिक परिणाम।Biometry.AuthResult(enum) —SUCCESS,FAILURE,CANCELLED,ERROR।
नोट। callback paint thread के बाहर आता है — किसी भी UI अपडेट को
Component.onUI(...)में लपेटें। समर्थन: Android (BiometricPrompt), iOS (Face ID/Touch ID), सीमित डेस्कटॉप (Windows Hello)। बायोमेट्रिक डेटा कभी डिवाइस से बाहर नहीं जाता — केवल परिणाम लौटाया जाता है।
पूर्ण उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)
package com.exemplo;
import dev.crossfly.ui.*; // Window, Component, Button, Label
import dev.crossfly.ui.layout.*; // VerticalLayout
import dev.crossfly.device.*; // Biometry, Biometry.AuthResult
/** चलाने योग्य मुख्य स्क्रीन। launcher (classname) की ओर संकेत करें और चलाएँ: gradlew :lwjgl3:run */
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
setLayout(new VerticalLayout());
Label resultado = new Label("");
add(LAY_AUTO, resultado);
Button acao = new Button("Autenticar");
acao.onAction(c ->
{
if (Biometry.isAvailable())
{
Biometry.authenticate(
"Autentique-se para acessar sua conta", // reason
"Cancelar", // cancel
false, // onlyBiometric=false → PIN/पासवर्ड की अनुमति देता है
(result, message) -> Component.onUI(() -> // callback paint thread के बाहर
{
switch (result)
{
case SUCCESS: resultado.setText("Acesso liberado"); break;
case FAILURE: resultado.setText("Falhou: " + message); break;
case CANCELLED: resultado.setText("Cancelado"); break;
case ERROR: resultado.setText("Erro: " + message); break;
}
}));
}
else
{
resultado.setText("Sem biometria disponível"); // एप्लिकेशन के पासवर्ड/PIN पर फ़ॉलबैक करें
}
});
add(LAY_AUTO, acao);
}
}
नीचे का अंश केवल मुख्य भाग दिखाता है। चलाने के लिए, इसे ऊपर दिए गए
MainWindowढाँचे में रखें।
न्यूनतम अंश
// स्रोत में सत्यापित: Biometry.java (isAvailable, authenticate, Callback.onResult, AuthResult)
import dev.crossfly.device.*; // Biometry, Biometry.AuthResult
import dev.crossfly.ui.*; // Component (onUI)
if (Biometry.isAvailable()) {
Biometry.authenticate(
"Autentique-se para acessar sua conta", // reason
"Cancelar", // cancel
false, // onlyBiometric=false → PIN/पासवर्ड की अनुमति देता है
(result, message) -> Component.onUI(() -> { // callback paint thread के बाहर
switch (result) {
case SUCCESS: liberarAcesso(); break;
case FAILURE: mostrarErro("Falhou: " + message); break;
case CANCELLED: /* उपयोगकर्ता ने रद्द किया */ break;
case ERROR: mostrarErro("Erro: " + message); break;
}
}));
} else {
// बायोमेट्रिक्स नहीं: एप्लिकेशन के पासवर्ड/PIN पर फ़ॉलबैक करें
}
और गहराई में जाएँ
- बायोमेट्रिक्स गाइड: बायोमेट्रिक्स
क्या यह पृष्ठ उपयोगी था?प्रतिक्रिया के लिए धन्यवाद!