我想在我的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://
标记)。它会打开Google 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');
}
);
。
答案 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>