TextInput-未显示Samsung Pass Prompt

时间:2019-01-23 12:03:33

标签: android react-native react-native-android samsung-mobile

我是android生态系统(确定)的新手,并试图显示Samsung Pass 在登录页面上提示。我有:

        <TextInput
          textContentType="password"
          autoCapitalize="none"
          secureTextEntry={true}
          value={this.state.password}
          underlineColorAndroid="transparent"
        />

它不起作用。我的意思是TextInput确实可以工作,但提示没有出现在屏幕上。可能我错过了一些东西,或者更糟的是,它还没有在React-Native中实现(或类似的东西)。

有什么建议可以帮助我显示Samsung Pass Prompt的图书馆吗?

使用:

  • 不是Expo App
  • 反应16.6.1
  • 本机0.57.5

3 个答案:

答案 0 :(得分:0)

这是带有TextInput的React-Native-Modal,这是一个示例。

    import React, {Component} from 'react';
    import {Modal, Text, TouchableHighlight, View, Alert} from 
    'react-native';

    class ModalExample extends Component {
     state = {
    modalVisible: false,
        };

     setModalVisible(visible) {
     this.setState({modalVisible: visible});
      }

      render() {
        return (
         <View style={{marginTop: 22}}>
           <Modal
            animationType="slide"
            transparent={false}
            visible={this.state.modalVisible}
            onRequestClose={() => {
            Alert.alert('Modal has been closed.');
          }}>
          <View style={{marginTop: 22}}>
            <View>
              <TextInput
                 textContentType="password"
                 autoCapitalize="none"
                 secureTextEntry={true}
                 value={this.state.password}
                 underlineColorAndroid="transparent"
              />
            </View>
          </View>
        </Modal>

        <TouchableHighlight
          onPress={() => {
            this.setModalVisible(true);
          }}>
          <Text>Show Modal</Text>
        </TouchableHighlight>
      </View>
    ); }}

答案 1 :(得分:0)

您没有说是否正在使用Expo。

react-native init

如果您不使用Expo,则需要使用react-native-touch-id

之类的依赖项

https://github.com/naoufal/react-native-touch-id

有一个教程介绍了设置它的基础

https://medium.com/react-native-training/integrate-touch-id-and-face-id-to-your-react-native-app-707e7db17edc

也有https://github.com/hieuvp/react-native-fingerprint-scanner,但只有touchID。

博览会

如果您正在使用Expo,LocalAuthentication将处理生物特征认证。

https://docs.expo.io/versions/v32.0.0/sdk/local-authentication/

Android上的人脸识别

但是,目前我不相信有一个针对React-Native的Android面部识别的实际解决方案

来自Expo文档:

  

使用FaceID和TouchID(iOS)或指纹API(Android)来   通过面部或指纹扫描对用户进行身份验证。

类似地,react-native-touch-id指出Android是实验性的

  

React Native Touch ID是用于身份验证的React Native库   使用生物识别方式(例如Face ID和Touch ID)的用户   在iOS和Android上(实验性)。

至少您将能够实现touchID,并且当faceID可用于Android时,您应该能够更新依赖项。

答案 2 :(得分:0)

这是我正在使用的示例 TextInput,它确实显示了 Samsung Pass 提示:

        <TextInput
          autoCapitalize="none"
          autoCompleteType="username"
          autoCorrect={false}
          clearButtonMode="while-editing"
          keyboardType="email-address"
          label="Username"
          mode="outlined"
          onChangeText={handleChangeUsername}
          onSubmitEditing={handleSubmitLogin}
          spellCheck={false}
          style={styles.input}
          testID="username"
          textContentType="username"
          value={username}
         />

只要您在物理设备而不是模拟器上测试应用,textContentType 道具就会显示提示。