如何检测在库上暂停的android应用程序?

时间:2011-11-28 09:14:31

标签: android android-library

我有一个包含自定义Webview的android lib。当使用我的lib暂停或恢复的应用程序我希望我的自定义Webview不再加载数据时,这将在我的lib上处理,而不是在应用程序上处理。那么,我怎么知道应用程序何时暂停或从我的Android库恢复?

3 个答案:

答案 0 :(得分:0)

在线程中运行webview加载函数。并分别暂停或恢复onPause或onResume事件的线程。

为此,您需要override onPause-onResume

有关如何暂停/恢复线程的信息,请参阅此内容。 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....

}

答案 1 :(得分:0)

我会让你的webview有自己的暂停和恢复方法,你的图书馆用户必须从他们的活动中调用。如果没有调用resume,你可以在进行任何加载时抛出IllegalStateException,但这取决于你想要的严格程度。

答案 2 :(得分:0)

这是我的简单解决方案:

因为我的自定义WebView在app暂停时仍在加载数据,所以onPageStarted(..)也在运行。要检查应用程序是否暂停,我只是简单地使用了isShown()方法。当然,这只适用于我的情况,因为如果应用程序正在运行,我的自定义WebView将始终显示。

谢谢大家的回复!