やきにくとくにきや

WEBサービスとイベントに夢見るエンジニアの技術メモ、チラシの裏。そして焼肉たべたい

ブラウザのセッションIDをandroidアプリで使いたい時

   

androidアプリとWEBサービスを連携していると、アプリからブラウザの
セッションIDを取得する必要が出てくることがある。

HttpClientとWebViewの間でCookie情報を共有

このエントリを参考にHttpClientとWebViewのクッキーを連携させてみたが、失敗。

できないんですって
アプリをインストールしたスマートフォンで使用しているブラウザの Cookieをアプリが取得することはできますか?

この回答が非常に役に立った。
アンドロイド アプリの作成をしています。

アプリを起動する

ブラウザでサーバにアクセス

アクセス先でセッションIDをパラメータで付加してリダイレクト

アプリでパラメータからセッションIDを取得する

といった流れ

実際にやってみる

まずはサーバ側

re.php
セッションIDを付加してアプリへリダイレクトするだけ

index.php
ブラウザでセッションIDを確認する用のページ

そしてandroid側

AndroidManifest.xmlの<activity>要素の下に記述

myapp://kuniactivityでアプリにアクセスできるようになる。

viewTestの中身

f:id:kunikiya:20120204023855p:image:w360

できた!!

一端ブラウザが起動されるのが微妙なのとセキュリテイ的には
あまりよろしくないので、認証や決済に使うのはやめた方がいいんだろうな…

参考:
AndroidアプリからURLを渡してブラウザを起動する方法

 - 未分類