如何通过expo打开不同的浏览器?

时间:2019-05-13 12:56:21

标签: android react-native expo

我想构建一个助手应用程序,该程序可以自动执行当前手动完成的某些任务。它不是很复杂:该应用程序从服务器接收到链接,并且应该能够在特定浏览器中从Android和iOS手机上已经安装的浏览器列表中打开它。我正在使用带有链接和URI方案的Expo。

我设法在iOS上让我感兴趣的浏览器上做到这一点:

open Firefox with Linking.openURL('firefox://open-url?url='+ url);
open Chrome with Linking.openURL('googlechrome://' + url);
open Safari with Linking.openURL(url);

问题出在Android上。我只能通过以下方式启动Chrome: Linking.openURL('googlechrome://navigate?url=' + url); 我仍然想打开Firefox和UC浏览器,但是我什至无法启动带有URI方案的应用程序,不要介意通过url。尝试过:

Linking.openURL('firefox://); Linking.openURL('ucbrowser://);

我在想也许我需要为这些浏览器触发一个Intent,而我尝试使用IntentLauncherAndroid.startActivityAsync("android.intent.action.VIEW", intentParams);  但是我无法弄清楚我需要使用哪些参数来打开带有参数的特定应用程序(在这种情况下,使用自定义网址的Firefox / Uc浏览器)。

0 个答案:

没有答案