私はAndroidライブラリにカスタムWebビューが含まれています。libを使用するアプリケーションが一時停止または再開した場合、カスタムWebviewがデータをロードしないようにします。これは、アプリケーションではなく、libで処理されます。では、Androidライブラリからアプリが一時停止または再開したことをどのように知ることができますか?
3 に答える
これは私の簡単な解決策です:
アプリが一時停止したときにカスタマイズされた WebView がまだデータをロードしているため、 onPageStarted(..) も実行されています。アプリが一時停止しているかどうかを確認するには、単純に isShown() メソッドを使用しました。もちろん、アプリが実行されている場合は、カスタマイズした WebView が常に表示されるため、これは私の場合にのみ当てはまります。
返信ありがとうございます。
スレッドで webview ロード関数を実行します。それぞれ onPause または onResume イベントでスレッドを一時停止または再開します。
そのためには、オーバーライドする必要があります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....
}
ライブラリのユーザーがアクティビティから呼び出さなければならない独自の一時停止および再開メソッドを webview に持たせます。再開が呼び出されていない場合は、ロードを行うときに IllegalStateException をスローできますが、どれだけ厳密にしたいかによって異なります。