【问题标题】:Android PhoneGap to open a new ActivityAndroid PhoneGap 开启新Activity
【发布时间】:2016-09-23 21:23:59
【问题描述】:

我有一个用 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);
    }
}
...

有人可以帮我吗?

【问题讨论】:

  • 嘿!你有没有想到这个?我也在寻找同样的东西。
  • @Aneem 你试过我的回答了吗?

标签: android cordova


【解决方案1】:

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

本指南是关于使用 PhoneGap 插件向网络公开额外的 Android 功能。 Intents 是 Android 生态系统的基本组成部分,允许应用程序之间的某种消息传递机制,但它们不暴露给 Web 应用程序。我编写的示例 Android 插件称为 WebIntent,它可以让您在 JavaScript 中创建一流的 Android 应用程序...

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

【讨论】:

    【解决方案2】:

    创建一个新类:

    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();
    }
    

    【讨论】:

      猜你喜欢
      • 2018-01-13
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2013-06-15
      相关资源
      最近更新 更多