Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

React Native can't open any URL

help me please, tried many ways. Android error ==

E/ReactNativeJS( 4398): 'An error occurred', { [Error: Could not open URL 'https://www.facebook.com': No Activity found to handle Intent { act=android.intent.action.VIEW dat=https://www.facebook.com flg=0x10000000 }] framesToPop: 1, code: 'EUNSPECIFIED' }

_onPressButton() {
    Linking.openURL('https://www.facebook.com').catch(err => console.error('An error occurred', err));

  }
  render() {
    return (
      <View style={{paddingTop: 22}}>
        <ListView
          dataSource={this.state.dataSource}
          renderRow={(rowData) =>  
            <TouchableHighlight  onPress={this._onPressButton} > 
              <View style={{marginBottom:10, marginLeft:5, flex: 1, flexDirection: 'row',justifyContent: 'flex-start'}}>

              <View style={{width:30}}><Image source={{ uri: rowData.img }} style={{width:25, height:25, marginTop: 5}} /></View>
              <View style={{alignSelf: 'stretch'}}>
              <Text>{rowData.title}</Text>
              <Text style={{fontSize:10}}>{rowData.author}, {rowData.company}, {rowData.time}</Text>
              </View>
            </View>
            </TouchableHighlight>


          }
        />
      </View>
    );
  }
like image 766
Alexander Avatar asked Dec 25 '22 00:12

Alexander


2 Answers

Sometimes this error appears if you provide an url without http:// or https://

like image 52
Thiago Brauer Avatar answered Dec 26 '22 16:12

Thiago Brauer


You cannot assume you can open any URL, you must follow this procedure.

Linking.canOpenURL(url).then(supported => {
  if (!supported) {
    console.log('Can\'t handle url: ' + url);
  } else {
    return Linking.openURL(url);
  }
}).catch(err => console.error('An error occurred', err));
like image 29
rclai Avatar answered Dec 26 '22 17:12

rclai