PhoneGAP,Cordova:修改Android项目以加载外部URL

时间:2016-11-08 08:35:24

标签: java android cordova

我正在尝试使用Cordova和phonegap。从可用的教程中,我能够从命令行创建一个cordova应用程序,并通过下面提到的命令将android平台添加到它。然后我在Android studio中导入了android项目。由于phonegap采用html,css内容,我修改了index.html来加载外部URL,但它没有用。我究竟做错了什么?如何指示应用程序加载外部URL?正如我所看到的那样,还有许多其他建议,但它们都没有我所做的数据。谢谢。

此外,当我在config.xml中将文件从index.html更改为URL时,它会打开一个chrome实例,而不是在应用中打开它。

命令:

cordova create hello com.example.hello HelloWorld
cordova platform add android --save
cordova build

MainActivity.java:

public class MainActivity extends CordovaActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        // enable Cordova apps to be started in the background
        Bundle extras = getIntent().getExtras();
        if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
            moveTaskToBack(true);
        }

        // Set by <content src="index.html" /> in config.xml
        loadUrl(launchUrl);
    }
}

在index.html中添加了以下行,但这也不起作用:

    <script>window.location.href="URL_I_AM_TRYING_TO_OPEN"</script>

config.xml:

// Trying to open google.com
  <content src="http://www.google.com" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <allow-intent href="market:*" />
    <preference name="loglevel" value="DEBUG" />

如何在应用程序本身中加载外部URL。谢谢。

1 个答案:

答案 0 :(得分:0)

<allow-intent href="http://*/*" />标记打开您在可以处理该方案的系统应用上的href属性上的方案/网址,所以现在您的allow-intent正在使用google网址打开Chrome。

您需要的标记不是allow-navigation,而是<allow-navigation href="http://www.google.com" />

添加 <allow-navigation href="*" />只允许在您的应用内导航到google.com,其他网址以Chrome格式打开,或添加$ opam switch 4.04.0 $ eval `opam config env` $ opam install conf-gnutls 以允许导航到应用内的任何网站