Android PhoneGap打开一个新的Activity

时间:2011-06-18 10:19:36

标签: android cordova

我有一个装有PhoneGap的html页面。 html是我的,并在电话上,所以我完全控制它。

我想点击html页面上的链接打开一个新活动。

例如:

的index.html

...    
<a class="FullText" href="http://LinkToOpenPage" >Click me to open an activity</a>
...

MainActivity.java

...
public void OnReceiveLink(string Link)
{
if (Link=="LinkToOpenPage")
    {
    Intent myIntent = new Intent(view.getContext(), CalledActivity.class);
    startActivity(myIntent);
    }
}
...

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:11)

看一下这个插件:http://smus.com/android-phonegap-plugins

  

此方法是关于使用PhoneGap插件向Web公开其他Android功能。 Intents是Android生态系统的基本组成部分,允许应用程序之间的某种消息传递机制,但它们不会暴露给Web应用程序。我编写的示例Android插件名为WebIntent,它允许您使用JavaScript创建第一类Android应用程序...

     

此架构是解锁任何Android功能到您的PhoneGap包装的移动Web应用程序的关键...

答案 1 :(得分:5)

创建一个新类:

public class Variables {

    private WebView mAppView;
    private DroidGap mGap;

    public Variables(DroidGap gap, WebView view)
    {
        mAppView = view;
        mGap = gap;
    }

    public void changeActivity(){     
        Intent intent = new Intent(mGap, Example.class);
        mGap.startActivity(intent);
    }
}

在您的主要活动中添加:

super.init();
mc = new Variables(this, appView);
appView.addJavascriptInterface(mc, "MyCls");
JavaScript中的

调用window.MyCls方法:

function changeActivity() {
    window.MyCls.changeActivity();
}