React Native:如何开启比特币网址?

问题描述:

如何在反应本机应用程序中打开比特币网址?我正在使用React Native Linking来检测手机上是否有任何可以打开按照BIP21格式化的比特币URL的应用程序。我有3个应用程序安装应当予以受理:React Native:如何开启比特币网址?

1)Coinbase 2)Breadwallet 3)Blockchain.info钱包

但它不开放。下面的代码:

async _openWallet() { 
    const coinURL = 'bitcoin:15bMc6sQTiQ5jSqoRX3JzatAbQqJaffqup'; 

    try { 
    const supported = await Linking.canOpenURL(coinURL); 
    if (supported) { 
     Linking.openURL(coinURL); 
    } else { 
     console.log('Could not find a compatible wallet on this device.'); 
    } 
    } catch (error) { 
    console.log(error); 
    } 
} 

supported保持返回false,这会导致“无法找到兼容的钱包......”来执行。奇怪的是,如果我通过Chrome/Safari浏览器在任意一个随机网站上点击比特币网址,我会弹出一个询问我是否想在上述应用程序之一中打开该网址。因此,只有网站上的网址才会打开,而不是来自内部的网址反应原生代码。

任何想法?

看起来你想在运行时使用的每个URI方案必须在Info.plist之前预先定义。在这里找到答案:React Native: Linking API not discovering Uber app