Pass Cookie To Browser Via Intent
Solution 1:
The Browser has no documented Intent
extras, let alone one that would allow you to inject a cookie. And, of course, the user might be using a different browser.
You are welcome to use WebView
in your application, and you can use the CookieManager
to inject your cookie into the WebView
's environment.
Solution 2:
Here is the answer that uses android.proveder.Browser:
I have a Map object that I stored the header information I want to pass. Then the following:
Intenti=newIntent(Intent.ACTION_VIEW, Uri.parse(url));
Bundlebundle=newBundle();
if(mExtraHeader!=null){
for(String key: mExtraHeader.keySet()){
bundle.putString(key, mExtraHeader.get(key));
}
}
i.putExtra(Browser.EXTRA_HEADERS, bundle);
startActivity(i);
Like the other guy mentioned, this would only work with the default browser and other browsers wouldn't have Browser.EXTRA_HEADERS I suppose. Resource: http://gitorious.org/rowboat/packages-apps-browser/blobs/a563d09392905140893d7a017dd63721577e1953/src/com/android/browser/BrowserActivity.java
Solution 3:
The above code is working fine to set headers (thanks for it), but I wasn't able to set cookies that way. What I suspect is that if the web browser already has cookies stored for the target URL, it will overwrite cookies created using EXTRA_HEADERS.
Post a Comment for "Pass Cookie To Browser Via Intent"