2017-10-26 12 views
0

カスタムタブでウェブページを開く必要があります。ただし、ページにはユーザーがログインする必要があります。ユーザーにログインを求められるのではなく、自動的にログに記録されるようにトークンを使用してCookieをCustomTabに設定する必要があります。 私は可能ではないと答えたhereを読んでいます。私はそれを正しく理解していますか?目標を達成する方法はありますか?Android:カスタムタブでCookieデータを設定する方法

編集:私は@Aris Panayiotouの答えの後にこれを試しましたが、うまくいきませんでした。私はここで何が間違っていたのですか?私はあなたの質問から理解するもののよう

private void openWebView() { 
    if (getActivity() != null) { 
     CookieManager cookieManager = new CookieManager(); 
     CookieHandler.setDefault(cookieManager); 
     String cookieStringTakenFromWeb = "some cookie string with correct token"; 

     CookieStore cookieStore = cookieManager.getCookieStore(); 
     HttpCookie cookie = new HttpCookie("Cookie", cookieStringTakenFromWeb); 
     cookieStore.add(URI.create(Util.getString(R.string.myUrl)), cookie); 

     final CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder(mCustomTabsSession) 
       .setToolbarColor(ContextCompat.getColor(getActivity(), R.color.red)) 
       .setShowTitle(true) 
       .build(); 
     customTabsIntent.launchUrl(getActivity(), Uri.parse(Util.getString(R.string.myUrl))); 
    } 
} 

答えて

0

、あなたはCookieHandlerのを試すことができます。 CookieHandlerオブジェクトは、HTTP状態管理ポリシー実装をHTTPプロトコルハンドラにフックアップするためのコールバックメカニズムを提供します。 HTTP状態管理メカニズムは、HTTP要求と応答を含むステートフルセッションを作成する方法を指定します。このリンク上の

続きを読む:CookieHandler

CookieManager続きを読む:CookieManager

+0

は、その情報をありがとうございました。更新された質問をご覧になれますか?感謝します。 – Sermilion

+0

あなたのプロジェクトにアプリケーションがありますか?はいの場合は、これをonCreateメソッドに追加します。CookieHandler.setDefault(new CookieManager());またはあなたのメインアクティビティで –

+0

助けてくれなかった:( – Sermilion

関連する問題