我有一个包含自定义 Webview 的 android lib。当使用我的库的应用程序暂停或恢复时,我希望我的自定义 Webview 不再加载数据,这将在我的库上处理,而不是在应用程序上处理。那么,我如何知道应用程序何时暂停或从我的 android 库中恢复?
3 回答
在一个线程中运行 webview 加载函数。并分别在 onPause 或 onResume 事件上暂停或恢复线程。
为此,您需要覆盖onPause
-和onResume
请参阅this了解如何暂停/恢复线程。 http://www.exampledepot.com/egs/java.lang/PauseThread.html
我不确定我是否完全理解你的问题。但是从您的问题来看"how can I know when the app is paused or resume from my android library?"
,我的意思是您想检测库类中的 onPause 和 onResume 事件并让其他用户使用它。
在这种情况下,我认为以下将是解决方案。
做这个 :
//for your library
public class LibraryWebViewActivity extends Activity{
//override onPause and onResume here
}
//to be used by users of library :
public class UserLibraryWebViewActivity extends LibraryWebViewActivity{
//override onCreate....and other method here....
}
我会让你的 webview 有自己的暂停和恢复方法,你的图书馆的用户必须从他们的活动中调用。如果没有调用 resume,您可以在执行任何加载时抛出 IllegalStateException ,但这取决于您想要的严格程度。
这是我的简单解决方案:
因为当应用程序暂停时,我的自定义 WebView 仍在加载数据,所以 onPageStarted(..) 也在运行。要检查应用程序是否暂停,我只是简单地使用了 isShown() 方法。当然,这仅在我的情况下是正确的,因为如果应用程序正在运行,我的自定义 WebView 总是会显示。
谢谢大家的回复!