【问题标题】:Android Webview load in background, show when readyAndroid Webview 在后台加载,准备就绪时显示
【发布时间】:2011-07-28 07:36:01
【问题描述】:

我正在开发一个从另一个应用获取意图的应用。当收到意图时,应用程序必须执行一些 javascript 才能导航到另一个页面。导航后,javascript 会触发应用程序可以在前台执行。

问题是当我发送一个意图时,webview 不存在并且 javascript 函数不能被调用。所以在执行javascript函数之前,我必须先调用onCreate函数。

调用onCreate函数的问题是app启动并显示webview,但我想在加载新页面后显示。

90% 必须在后台工作,但是这可以通过在 View 对象中加载数据来实现吗?有没有办法调用 onCreate 函数(通过带有 Intent 的 startActivity)而不向用户显示应用?

提前致谢

【问题讨论】:

    标签: javascript android android-activity background webview


    【解决方案1】:

    您也可以使用 onStart() 和 onResume() 函数,您不必将所有内容都放在 onCreate() 中。

    请阅读Activity Lifecycle

    【讨论】:

    • 没错。但问题是应用程序必须加载 webview 一次才能知道 javascript 并初始化 webview。否则我会在 webview 上得到一个 nullPointerExeption。
    • 在onCreate()中创建webview,在onStart()中加载url。不要试图用 javascript 修改 webview,这很糟糕,真的很糟糕
    • 现在我很好奇你为什么要这样做?听起来你应该只是在没有意图的情况下导航到原始 webview 中的另一个页面,除非这是一个 android 3.0+ 平板电脑的东西,但是你会使用片段
    • 好的,问题是应用程序完全在 Javascript 中运行。并且必须在后台执行一些操作(例如收集数据并存储它)。一些数据来自手机上另一个应用程序的意图。当发送新数据时,它必须将其发送到移动网页以对其进行处理。如果需要,用户会收到打开应用程序的通知,或者应用程序被发送到前台(最后一件事是 android 指南不允许的)也许我有一个新的想法让它工作。但我认为主要问题是 webview 是一个 View(able) 对象
    猜你喜欢
    • 2014-03-12
    • 2017-12-02
    • 1970-01-01
    • 2022-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    相关资源
    最近更新 更多