PhoneRTC:启动时将数据从 Java 发送到 Java 脚本

PhoneRTC: Send data from Java to Javascript on start

我已经将 phonertc 示例应用程序作为我的 Android 本机 Java 应用程序的一部分。在我的家 activity,我有一个按钮,点击它可以启动 phonertc 示例应用程序。这是按钮的作用:

Intent i = new Intent(this, CordovaApp.class);
startActivity(i);

在 CordovaApp.class 中,我从 phonertc 的示例应用程序中获取了以下代码:

public class CordovaApp extends CordovaActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        // Set by <content src="index.html" /> in config.xml
        loadUrl(launchUrl);
    }
}

这会在单独的 activity 中加载样本 phonertc 应用程序。我想在加载时将我自己的一些数据从 Java 发送到示例 phonertc 应用程序。

除了插件的通信之外,我的目标是在 phonertc 应用程序和我的 java android 代码之间进行通信。我该怎么做?

在 webview 中加载后,phonertc 应用程序是否可以调用我的 java android 代码的函数?

请帮忙。

无论您的 wevbiew 是什么名称,请使用 addJavascriptInterface 方法。它基本上使 Java 函数可以被 Java 脚本端访问。第一个参数通常是一个接口 class 但你可以简单地使用相同的 activity.

cordova_webview.addJavascriptInterface(this, "mainHandler");

假设您想要 运行 例如以下 activity 更改方法:

public void changePage(){           
    Intent intent = new Intent(MainActivity.this, 
                SecondActivity.class);
    startActivity(intent); 
}

现在HTML页面,可以通过myHandler接口访问;

<button onclick="window.mainHandler.changePage()">
    Change Page
</button>

Aa 你看 Cordova 与这个简单的 Android 结构没有任何不同。