Cordova:使用谷歌浏览器打开一个链接

时间:2016-06-29 08:17:29

标签: android cordova google-chrome

我想在我的Cordova应用程序中使用Google Chrome(而非其他浏览器)打开链接。我尝试了几种解决方案但没有任何效果。

首先,我尝试创建指向public class MainActivity extends AppCompatActivity { EditText pole; Button przycisk; WebView przegladarka; public String adres; public void Wyszukaj(View v){ adres = pole.getText().toString(); przegladarka.loadUrl(adres); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); przycisk = (Button) findViewById(R.id.przycisk); pole = (EditText) findViewById(R.id.pole); przegladarka = (WebView) findViewById(R.id.przegladarka); if (Build.VERSION.SDK_INT >= 19) { przegladarka.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); } przegladarka.setWebViewClient(new ModifiedWebViewClient()); przegladarka.getSettings().setJavaScriptEnabled(true); przegladarka.loadUrl("http://google.com"); } private class ModifiedWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } 的链接(使用HTML googlechrome://标记)。它会打开Goog​​le Chrome,但我无法选择要打开的网址。

然后,我尝试创建指向<a>的链接。当我从浏览器(如Firefox或Google Chrome)打开它时,此链接有效,但当我从Cordova应用程序打开它时,它无法正常工作。

我也尝试使用cordova-webintent插件,就像那样:

intent://my.url.com/#Intent;scheme=https;package=com.android.chrome;end

但是我得到&#34;无法通过Android Intent&#34; 错误打开网址。

我该怎么办?

PS:我在config.xml文件中写了window.plugins.webintent.startActivity( { action: window.plugins.webintent.ACTION_VIEW, url: 'intent://my.url.com/#Intent;scheme=https;package=com.android.chrome;end' }, function() { alert(url); }, function(){ alert('Failed to open URL via Android Intent'); } );

2 个答案:

答案 0 :(得分:1)

您可以将cordova-plugin-inappbrowser_system一起用作目标:

cordova.InAppBrowser.open('http://stackoverflow.com', '_system', 'location=yes');

或者您可以使用cordova-plugin-webintent2(不知道您使用的是否相同),如下所示:

window.plugins.webintent.startActivity({
        action: window.plugins.webintent.ACTION_VIEW,
        url:  "googlechrome://navigate?url=http://www.stackoverflow.com"
    },
    function() {},
    function() {
        alert('Failed to open URL via Android Intent.');
      console.log("Failed to open URL via Android Intent.")
    });

网址必须以http或https开头,不允许使用相对网址。

答案 1 :(得分:1)

我终于找到了解决方案。我只需创建一个像这样的链接:

<a href="googlechrome://navigate?url=https://my.url.com/"></a>