1

私のアプリの一部は、アプリでブラウザーを開き、ユーザーを専用の Web ページに送信します (「FirstPage」と呼びましょう)。そこで、ユーザーは Web ページをナビゲートできます。これはうまく機能しますが、ユーザーが Web ページにいてアプリが中断された場合 (電話の着信または保留ボタンを押すことによって)、ブラウザーの状態は保存されず、ユーザーがアプリに戻ったときに、ブラウザーは自動的に " FirstPage」であり、最後に表示されたページではありません。

中断後に最後に表示されたページが表示されるように、ブラウザの状態を保存するにはどうすればよいですか?

どうもありがとうございました!

4

1 に答える 1

0

URL が Android ネイティブ ブラウザに読み込まれている場合、最後の URL とスクロール位置を収集することはできないと思います。いずれにせよ、ユーザーが Web をブラウジングしたり、ポルノ サイトにアクセスしたりできるため、ユーザーのプライバシーが侵害される可能性があります。

ただし、WebViewdocs)を使用している場合は、アプリ内にカプセル化されているため可能です。computeVerticalScrollOffset()のように機能getURL()し、その情報を収集します。

データはAndroid Shared Preferencesに保存できます。

この情報を保存し、いつでもアプリを終了できるようにしておく必要がある場合はActivity.onDestroy()、 、 、Activity.onPause()およびActivity.onStop(). アプリの終了/一時停止/停止中に設定を保存する必要があるかどうかはわかりませんが、それができない場合は、スクロール位置または URL の変更が検出されるたびに保存することをお勧めします.

WebView の変更をリッスンする方法のヒントについては、この回答を確認してください。

最後に、データを保存したら、WebView の再初期化時に保存された設定を使用するだけです。

于 2015-03-09T10:37:36.443 に答える