从单独的类调用活动函数
Calling activity function from separate class
我一直在关注Android教程(在这里找到),试图让一个简单的Web应用程序工作。
我有一个名为CalendarActivity
的活动,它有一个WebView
。此WebView
呈现assets'www'
文件夹中的页面。我还有一个CalendarInterface
,它保存了 javascript 从 html 页面调用的方法。
我想做的是能够通过javascript调用活动的finish()
函数。但是,由于这只能从活动内部调用 - 如何使用单独的接口类来实现这一点?
以链接页面为例,您应该能够执行以下操作:
public class WebAppInterface {
Activity mActivity;
/** Instantiate the interface and set the activity */
WebAppInterface(Activity activity) {
mActivity = activity;
}
/** Finish activity from the web page */
@JavascriptInterface
public void finishActivity() {
mActivity.finish();
}
}
现在,在您的活动中,您可以像这样添加JS接口:
WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");
在您的网页中,您可以通过单击按钮来完成活动,如下所示:
<input type="button" value="Finish the activity now" onClick="finishActivity()" />
<script type="text/javascript">
function finishActivity() {
Android.finishActivity();
}
</script>
相关文章:
- 打开网页后立即获取网页的活动javascript函数
- 无法从活动调用 javascript 函数
- 限制 .live() 函数在 JavaScript 中变为活动状态的次数
- 从单独的类调用活动函数
- 如何在jQuery函数执行's处于活动状态
- 菜单选项卡选择/活动样式取决于url中的file.php、javascript函数
- Javascript函数在活动选项卡上启用链接
- 使用 jQuery 数据检测活动幻灯片并运行函数
- jQuery解绑事件在函数之外仍然显示为活动
- 在 JavaScript 函数中保持变量处于活动状态时出现问题
- 闭包:在函数返回后,如何使局部变量保持活动状态
- “Enter”键在文本框处于活动状态时调用javascript函数
- 重写一个Javascript函数,该函数可以选择在IE8中工作的活动导航选项卡
- 调用一个打开活动并将活动结果返回给javascript的java函数
- 在另一个新活动中显示追加函数
- 从另一个函数终止一个活动的javascript函数/循环
- 如何从android活动调用现有的javascript函数
- 什么是jQuery或javaScript语法,使函数仅在活动/聚焦输入/按钮/文本区域上工作
- 我做了一个自行车2幻灯片.我想在滑块中的特定图像处于活动状态时触发JQuery函数
- Sever幻灯片验证活动js函数