{"id":4607,"url":"https://github.com/kalontech/react-native-touch-id-android","last_synced_at":"2026-04-03T02:01:40.809Z","repository":{"id":57340964,"uuid":"85607665","full_name":"kalontech/react-native-touch-id-android","owner":"kalontech","description":"Touch ID module for Android","archived":false,"fork":false,"pushed_at":"2017-11-13T12:42:55.000Z","size":29099,"stargazers_count":30,"open_issues_count":5,"forks_count":14,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-04T21:16:30.091Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kalontech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-20T17:44:04.000Z","updated_at":"2024-11-04T13:32:54.000Z","dependencies_parsed_at":"2022-09-08T18:40:23.221Z","dependency_job_id":null,"html_url":"https://github.com/kalontech/react-native-touch-id-android","commit_stats":null,"previous_names":["elekenagency/react-native-touch-id-android"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kalontech/react-native-touch-id-android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalontech%2Freact-native-touch-id-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalontech%2Freact-native-touch-id-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalontech%2Freact-native-touch-id-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalontech%2Freact-native-touch-id-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kalontech","download_url":"https://codeload.github.com/kalontech/react-native-touch-id-android/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalontech%2Freact-native-touch-id-android/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:17:17.742Z","updated_at":"2026-04-01T19:43:38.931Z","avatar_url":"https://github.com/kalontech.png","language":"Java","funding_links":[],"categories":["Components"],"sub_categories":["System"],"readme":"# react-native-touch-id-android\n\n\n[![npm version](http://img.shields.io/npm/v/react-native-touch-id-android.svg?style=flat-square)](https://npmjs.org/package/react-native-touch-id-android \"View this project on npm\")\n[![npm version](http://img.shields.io/npm/dm/react-native-touch-id-android.svg?style=flat-square)](https://npmjs.org/package/react-native-touch-id-android \"View this project on npm\")\n[![npm](https://img.shields.io/npm/l/react-native-touch-id-android.svg?style=flat-square)](https://github.com/ElekenAgency/react-native-touch-id-android/blob/master/LICENSE.md)\n[![Build Status](https://travis-ci.org/ElekenAgency/react-native-touch-id-android.svg?branch=master)](https://travis-ci.org/ElekenAgency/react-native-touch-id-android)\n\nFingerprint identity for Android based on https://github.com/ajalt/reprint\n\n\n## NOTES:\n- current latest version: v0.1.x\n- for RN \u003c 0.47.0, use react-native-touch-id-android@**0.0.6**\n\n\n- An example working project is available at: https://github.com/ElekenAgency/react-native-touch-id-android/tree/master/example\n\n## Demo\n\n\n![](./src/screenshot.png)\n\n\n## Installation Android\n\n**Tested only on RN version \u003e 0.40**\n\n1. `npm install react-native-touch-id-android --save`\n2. `react-native link react-native-touch-id-android`\n\n3. `android/build.gradle` (**not** android/app/build.gradle, pay attention):\n\n```js\n\n\nallprojects {\n    repositories {\n        mavenLocal()\n        jcenter()\n        maven {\n            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm\n            url \"$rootDir/../node_modules/react-native/android\"\n        }\n        maven { url \"https://jitpack.io\" }            // \u003c--- add this line\n    }\n}\n\n```\n\n4. `android/app/src/main/java/\u003cYOUR-APP-FOLDER\u003e/MainApplication` file, check if you already have this lines:\n\n\n```js\n\nimport com.github.ajalt.reprint.core.Reprint;      // \u003c- add this line\nimport co.eleken.react_native_touch_id_android.FingerprintPackage;    // \u003c- add this line\n\npublic class MainApplication extends Application implements ReactApplication {\n\n...\n\n  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {\n\n    @Override\n    protected List\u003cReactPackage\u003e getPackages() {\n      return Arrays.\u003cReactPackage\u003easList(\n          new MainReactPackage(),\n          new FingerprintPackage()     // \u003c- add this line\n      );\n    }\n    \n  };\n\n  @Override\n  public void onCreate() {\n    super.onCreate();\n    Reprint.initialize(this); // \u003c- add this line\n  }\n\n...\n\n```\n\n5. Enable fingerprint in phone's settings\n\n\n# Usage\n\n1. `Finger.isSensorAvailable()`: Promise returns `true` if success and string `error` in other cases (including case when you have sensor, but not enabled it in your phone's settings)\n\n  ```js\n\n  Finger.isSensorAvailable()\n      .then((isAvailable) =\u003e {   })\n      .catch(error =\u003e {   });\n\n  ```    \n\n2. `Finger.requestTouch()`: Promise returns `true` if success and string `error` in other cases.\n\n\n  ```js\n\n  Finger.requestTouch()\n      .then(success =\u003e {  })\n      .catch(error =\u003e {  });\n\n  ```\n\n3. `Finger.dismiss()` if you open sensor and want to close it before touching (like when close app or dialog)\n\n# Example\n\n```js\n\nimport Finger from 'react-native-touch-id-android'\n\nexport default class TouchTest extends Component {\n\n  componentDidMount() {\n    Finger.isSensorAvailable()\n      .then((isAvailable) =\u003e {\n        ToastAndroid.show('Sensor is available and is waiting for touch', ToastAndroid.SHORT);\n        this.touchAuth()\n      })\n      .catch(error =\u003e {\n        ToastAndroid.show(error, ToastAndroid.SHORT);\n      });\n  }\n\n  touchAuth(){\n    Finger.requestTouch()\n      .then(success =\u003e {\n        ToastAndroid.show('Access granted', ToastAndroid.SHORT);\n      })\n      .catch(error =\u003e {\n        ToastAndroid.show(error, ToastAndroid.SHORT);\n      });\n  }\n\n  render() {\n    return (    \n\n        ...\n\n    );\n  }\n\n  componentWillUnmount(){\n    Finger.dismiss()\n  }\n}\n\n\n```\n\n# Troubleshooting\n\nIf you made **5 wrong fingerprint attempts**, Android Fingerprint API requires some time to continue work with sensor. In that case `Finger.requestTouch()` returns error `LOCKED_OUT`, so it would be good to make user awared that senser is temporary unavailable (near 30 seconds).\n\n\n## Questions or suggestions?\n\nFeel free to [open an issue](https://github.com/ElekenAgency/react-native-touch-id-android/issues)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkalontech%2Freact-native-touch-id-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkalontech%2Freact-native-touch-id-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkalontech%2Freact-native-touch-id-android/lists"}