Android webview中cookie增加/修改
最近项目需求中,需要满足往webview传递cookie,而且cookie需要增加修改;
public class MainActivity extends Activity { private WebView contentWebView = null;
private TextView msgView = null; @SuppressLint("SetJavaScriptEnabled")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
contentWebView = (WebView) findViewById(R.id.webview);
msgView = (TextView) findViewById(R.id.msg);
// 启用javascript
contentWebView.getSettings().setJavaScriptEnabled(true);
// 从assets目录下面的加载html
contentWebView.loadUrl("http://60.29.255.184/api/android/setcookie"); Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(btnClickListener);
contentWebView.addJavascriptInterface(this, "wst");
} OnClickListener btnClickListener = new Button.OnClickListener() {
public void onClick(View v) {
// 无参数调用
// contentWebView.loadUrl("javascript:javacalljs()");
// // 传递参数调用
// contentWebView.loadUrl("javascript:javacalljswithargs(" + "'hello world'" + ")");
CookieSyncManager.createInstance(MainActivity.this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.getCookie("http://60.29.255.184"); System.out.println("--------------- 1 ----------------------"+cookieManager.getCookie("http://60.29.255.184"));
//第一次往cookie中新增值;
cookieManager.setCookie("http://60.29.255.184", "VodKeySid=f9d8d0cb5badcfb2f7803b64100574dd.120");
//替换cookie中的值;
cookieManager.setCookie("http://60.29.255.184", "VodKeySid=f9d8d0cb5badcfb2f7803b64100574dd.110");
System.out.println("--------------- 3 ----------------------");
System.out.println("----------------- 4 --------------------"+cookieManager.getCookie("http://60.29.255.184"));
CookieSyncManager.getInstance().sync(); contentWebView.loadUrl("http://60.29.255.184/api/android/getcookie");
}
}; public void startFunction() {
Toast.makeText(this, "js调用了java函数", Toast.LENGTH_SHORT).show();
runOnUiThread(new Runnable() { @Override
public void run() {
msgView.setText(msgView.getText() + "\njs调用了java函数"); }
});
} public void startFunction(final String str) {
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
runOnUiThread(new Runnable() { @Override
public void run() {
msgView.setText(msgView.getText() + "\njs调用了java函数传递参数:" + str); }
});
}
}
此代码测试无误,通过查看Sqlite中的记录 ,确实cookie已经新增,而且能够完成修改;
adb shell
包下面的文件目录
由于cookie存放在数据库中
打开webview的数据库
查看cookie中的值
测试机:android虚拟机,2.3.3版本;
测试机:HTC G14,4.0.3版本;
均测试无误。
代码连接:http://pan.baidu.com/share/link?shareid=122483160&uk=3909095065
Android webview中cookie增加/修改的更多相关文章
- Android webview 写入cookie的解决方法以及一些属性设置
原文地址:https://www.2cto.com/kf/201703/616868.html Android webview 写入cookie的解决方法以及一些属性设置,webview怎么设置写入C ...
- 【WebView】Android WebView中的Cookie操作
Hybrid App(混合式应用)的开发过程中少不了与WebView的交互,在涉及到账户体系的产品中,包含了一种登录状态的传递.比如,在Native(原生)界面的登录操作,进入到Web界面时,涉及到账 ...
- 关于android webview 设置cookie的问题
转自:http://blog.csdn.net/encienqi/article/details/7912733 我们在android中访问网络经常会用到Apache的HttpClient,用此类去访 ...
- Android WebView中的JavaScript代码使用
在WebView中使用JavaScript 如果你想要载入的页面中用了JavaScript,你必须为你的WebView使能JavaScript. 一旦使能之后,你也可以自己创建接口在你的应用和Java ...
- Android WebView保存Cookie登录
因项目需要,需要在App中嵌入网页,使用Nativie方式登录,然后将cookie保存到WebView中,实现免登录功能.同步Cookie到WebView的方法网上有大量的参考资料,也可以参考下面的代 ...
- Android Webview中解决H5的音视频不能自动播放的问题
在开发webview的时候,当加载有声音的网页的时候,声音不会自动播放, 解决方法:在webview中调用js方法.这个方法需要在webview的setWebViewClient方法之后在onPage ...
- Android WebView中那些不得不解决的坑~~
前面那张hybrid开发心得 有人问 怎么解决不用onJsPrompt 来回调js函数的问题.其实很简单,就是在在你的jscalljava回调函数内 另外开个线程去load js代码即可: wb.po ...
- Android WebView中显示一张或多张图片
最近需要在平板中显示多张图片,调查了下,决定用WebView(说实话,我还不清楚有没有其他android控件能够显示多张图片的.....), 主要是用HTML的img来显示多张图片. google百度 ...
- Android开发中上线后修改应用名称的若干问题
一.在Android Studio 1.3中修改app的包名: 需求来源: 之前开发的app已经在腾讯的应用宝上线,应客户要求,app需要改名字,这个就有点麻烦了.如果申请改名字,要求如下: 截图上图 ...
随机推荐
- 加载jar文件输出class和method
package file import java.util.jar.JarEntry import java.util.jar.JarFile import org.junit.Test; class ...
- GitCam一款Gif动画制作软件
本篇文章由:http://www.sollyu.com/gitcam-a-gif-animation-software/ 说明 GifCam是一款小巧.免费的录制电脑屏幕并制作成GIF动画的软件,具有 ...
- ubuntu mint 开机启动项管理
使用工具 sysv-rc-conf,需要安装. 点击打开链接http://blog.chinaunix.net/uid-21516619-id-1825027.html
- Java中静态代码块,代码块,构造方法的理解
直接贴代码 class A { static { System.out.println("父类静态代码区"); } { System.out.println("父类代码区 ...
- linux 信号处理
查看信号 kill -l 信号实际就是一个进程发送给另一个进程的消息
- apache .htaccess 伪静态重定向,防盗链 限制下载...
301全站跳转 RewriteEngine OnRewriteCond %{HTTP_HOST} ^www\.old\.net$ [NC]RewriteRule ^(.*)$ http://www.n ...
- Spring MVC框架理解
原文链接:ITeye SpringMVC深度探险专栏 基本要素 1. 指定SpringMVC的入口程序(在web.xml中) <!-- Processes application request ...
- 包管理器Bower使用手册之一
包管理器Bower使用手册之一 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.Bower介绍 Bower是一个适合Web应用的包管理器,它擅长前端的 ...
- 收藏一个匹配html内容的文章
http://blog.csdn.net/donglynn/article/details/35788879
- Newtonsoft post Json 日期格式处理
Newtonsoft.Json.Converters.IsoDateTimeConverter DateTimeConverter = new Newtonsoft.Json.Converters. ...