1

誰かが私のアプリを承認できるように Web ページを開く Twitter アプリを構築しています。ユーザーがサイトを認証すると、問題が発生します。URL に戻ります。そこからブラウザー ウィンドウを閉じて、ネイティブ アプリに戻りたいと思います。次のことを試しましたが、ブラウザ ウィンドウは開いたままです。

    <script>
      window.close();
      window.self.close();
    </script>

ユーザーは現在、ホーム画面に戻ってアプリをもう一度見つける必要があります。

ユーザーをアプリに戻す JavaScript はありますか?

ありがとう!

4

1 に答える 1

3

そのためには、独自のアプリで WebView を使用する必要があります。ブラウザー アプリを閉じることができないため、ログインにはブラウザー アプリを使用しないでください。

Twitter ログイン ページをロードする WebView を含むログイン アクティビティを作成します。その WebView のカスタム WebViewClient を実装し、onPageFinishedメソッドをオーバーライドして、URL パラメーターがログイン リダイレクト ターゲット URL と等しいかどうかを確認します。URL またはページからアクセス トークンを解析します (ここでの正確な技術的詳細はわかりません。申し訳ありません)。

次に、アクセス トークンをアプリケーションのプライベート データベースまたは設定ファイルに保存し、最後にログイン アクティビティを終了して、前のアクティビティに戻ります。

補足: <script> タグで type="text/javascript" 引数を指定する必要があります。そうしないと、ブラウザーによってはこれらのタグが無視される場合があります。

于 2012-06-25T23:07:01.040 に答える