u3d内嵌H5游戏 设置cookie
Intent intent1 = getIntent();
Log.d("SS", "onCreate: ");
String data = intent1.getStringExtra("cookies");
JSONObject result = null;
try {
result = new JSONObject(data); String id = result.getString("id");
if (id.equals("289")){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
else{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
catch(JSONException e)
{ } webView = (WebView)findViewById(R.id.webView); WebSettings webSet = webView.getSettings();
webSet.setJavaScriptEnabled(true);
webSet.setAllowFileAccess(true);
// 自适应屏幕
webSet.setUseWideViewPort(true);
webSet.setLoadWithOverviewMode(true);//设置全屏
webSet.setDomStorageEnabled(true);
//声音
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
} webSet.setDefaultTextEncodingName("UTF-8");
webSet.setJavaScriptEnabled(true);
webSet.setJavaScriptCanOpenWindowsAutomatically(true);
webSet.setAllowFileAccess(true);
webSet.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
webSet.setSupportZoom(false);
webSet.setBuiltInZoomControls(false);
webSet.setUseWideViewPort(true);
webSet.setSupportMultipleWindows(true);//支持多标签窗口
webSet.setLoadWithOverviewMode(true);
webSet.setAppCacheEnabled(true);
webSet.setDatabaseEnabled(true);
webSet.setDomStorageEnabled(true);
webSet.setGeolocationEnabled(true); webSet.setCacheMode(WebSettings.LOAD_DEFAULT);
webSet.setAllowFileAccessFromFileURLs(true);
webSet.setUserAgentString(webSet.getUserAgentString() + "35wd");//3500游戏微包专用
webSet.setSaveFormData(true); LoadUrl();
webView.loadUrl(gameUrl);
webView.setWebViewClient(new WebViewClient(){
// @Override
// public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// String url = request.getUrl().toString();
// LoadUrl();
// view.loadUrl(url);
// }
// return super.shouldOverrideUrlLoading(view, request);
// } @Override
public boolean shouldOverrideUrlLoading(WebView view, String url) { if(url.contains("alipays://platformapi")){//针对阿里网页支付特殊处理
boolean visit = checkAliPayInstalled(H5Activity.this);
if(visit){
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
} else if(url.contains("weixin://wap/pay?")) {//针对微信支付特殊处理
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
startActivity(intent);
return true;
}
else {
view.loadUrl(url); } // LoadUrl();
// view.loadUrl(url);
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
});
} //判断是否安装支付宝app
public boolean checkAliPayInstalled(Context context) { Uri uri = Uri.parse("alipays://platformapi/startApp");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
ComponentName componentName = intent.resolveActivity(context.getPackageManager());
return componentName != null;
} void LoadUrl() { Intent intent = getIntent(); String data = intent.getStringExtra("cookies");
Log.e("SSSSS", data);
JSONObject result = null; try {
result = new JSONObject(data); gameUrl = result.getString("game_url");
JSONObject scoreObj = (JSONObject) result.get("cookie");//对方平台需要的参数 可以免微信登录
String author = scoreObj.getString("value");
String domain = scoreObj.getString("domain");
String expires = scoreObj.getString("expires");
String path = scoreObj.getString("path");
Log.e("author",author);
Log.e("expires",expires);
Log.e("domain",domain);
Log.e("path",path);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
CookieSyncManager.createInstance(H5Activity.this);
}
CookieManager cookieManager = CookieManager.getInstance(); long l = System.currentTimeMillis() + Long.valueOf(expires);
Date date = new Date(l);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
String format1 = format.format(date);
Log.e("format1",format1);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
cookieManager.setAcceptCookie(true);
cookieManager.removeSessionCookie();
cookieManager.setCookie(domain, String.format("author=%s",author));
cookieManager.setCookie(domain, String.format("expires=%s",format1));
cookieManager.setCookie(domain, String.format("domain=%s",domain));
cookieManager.setCookie(domain, String.format("path=%s",path));
CookieSyncManager.getInstance().sync();
} else {
cookieManager.removeSessionCookies(null);
cookieManager.setAcceptCookie(true);
cookieManager.setAcceptThirdPartyCookies(webView, true);
cookieManager.setCookie(domain, String.format("author=%s",author));//重点是这块 多个cookie值 需要一个一个设置 不能一次设置
cookieManager.setCookie(domain, String.format("expires=%s",format1));
cookieManager.setCookie(domain, String.format("domain=%s",domain));
cookieManager.setCookie(domain, String.format("path=%s",path));
cookieManager.flush();
} String newCookie = cookieManager.getCookie(".3500.com");
Log.e("sdsd", newCookie);
} catch (JSONException e) {
e.printStackTrace();
}
} @Override
protected void onPause()
{
super.onPause();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
webView.onPause();
}
} @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// if (webView.canGoBack()) {
// webView.goBack();
// } else {
// H5Activity.this.finish();
// }
H5Activity.this.finish();
return true;
} return super.onKeyDown(keyCode, event);
}
protected void onDestroy() {
// 销毁 WebView
if (webView != null) { webView.destroy();
webView = null;
}
super.onDestroy();
} @Override
protected void onResume() {
super.onResume();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
webView.onResume();
}
}
u3d内嵌H5游戏 设置cookie的更多相关文章
- 微信小程序中使用 <web-view> 内嵌 H5 时,登录问题的处理方法
在微信小程序的开发中,经常遇到需要使用 <web-view></web-view> 内嵌 H5 的需求.在这种需求中比较棘手的问题应该就是登录状态的判断了,小程序中的登录状态怎 ...
- ios应用内嵌h5页面数据自动变色识别为手机号码的解决方法——手机号码拨号禁用IOS手机页面数字自动识别为手机号
异常如下: ios应用内嵌h5页面,本来是设置了白色的数字,两三秒之后会自动变为黑色,然后点击的时候就会弹出是否拨号的提示: 解决方法: 添加如下meta标签,即可解决: <meta name= ...
- APP中内嵌H5页面为什么不能下载?
在APP中内嵌H5页面,若页面上存在下载链接,没有任何反应,为什么呢? 原因是app中内嵌的H5页面是WebView解析的,什么是WebView呢? 在Android手机中内置了一款高性能webkit ...
- android内嵌H5页(webview)如何定位
一.切换至webview后再定位元素 (1)获取页面上下文 contexts = driver.contexts (2)切换至webview driver.switch_to.context(cont ...
- appium常见问题02_android内嵌H5页(webview)如何定位
现在大多数app都是由原生页面和内嵌H5(即webview)组成,app原生页面直接定位即可,那内嵌H5页面要如何定位呢. 相信大多数人用appium做自动化时都有遇到这个问题,小编总结了下工作中该问 ...
- 安卓内嵌H5只展示部分静态页面
问题: 安卓内嵌H5在华为P9部分机型只展示h5静态页面无法展示接口返回渲染的页面 解决办法: Android 关闭硬件加速 android:hardwareAccelerated=" ...
- 小程序内嵌H5——判断小程序环境的坑
现在各种小程序风靡,这边H5的需求还没有搞定,产品又要求做小程序版本,做可以,关键是618前上线,我-- whatever,618要做推广,日期订了,剩下的就只能是排期,定方案,尽可能完成. 最后和产 ...
- 小程序中webview内嵌h5页面
小程序内嵌h5页面跳转小程序指定页面, 需要引用 JSSDK: <script src="https://res.wx.qq.com/open/js/jweixin-1.3.2 ...
- 小程序通过 url 向内嵌 H5 传参注意事项
当在小程序中通过 url 向 <web-view> 内嵌的 H5 传参时,当包含特殊字符时需要进行编码处理(不然 <web-view> 中是拿不到值的,小程序竟然没有错误提示. ...
随机推荐
- idea下的new class找不到了
https://blog.csdn.net/iteye_3381/article/details/82672788
- Html链接标签:
<a>标签可以在网页上定义一个链接地址,它的常用属性有: (1)href属性 定义跳转的地址 (2)title属性 定义鼠标悬停时弹出的提示文字框 (定义鼠标悬停时,弹出的提示框中的文字) ...
- CentOS 7创建自定义KVM模板(现有KVM迁移到另外一台机)
说明:创建KVM模板有个好处,不用每次都运行命令创建,并且可以为迁移做准备. 一.创建KVM模板 1.下载iso(省略) 2.创建磁盘 qemu-img create -f raw centos7.r ...
- android面试题总结加强再加强版(一)
在加强版的基础上又再加强的android应用面试题集 有些补充略显臃肿,只为学习 1.activity的生命周期. 方法 描述 可被杀死 下一个 onCreate() 在activity第一次被创建的 ...
- 【小程序】小程序开发自定义组件的步骤>>>>>>>>>小程序开发过程中报错:jsEnginScriptError
报错:jsEnginScriptError VM6342: jsEnginScriptError Component is not found in path "component/spac ...
- Go web编程实例
1. go web编程入门 记录个web编程例子方便以后使用. 主要有: chan的使用(带缓存,不带缓存) client发起get/post请求 server解析get/post请求参数 http. ...
- Spark(四十四):使用Java调用spark-submit.sh(支持 --deploy-mode client和cluster两种方式)并获取applicationId
之前也介绍过使用yarn api来submit spark任务,通过提交接口返回applicationId的用法,具体参考<Spark2.3(四十):如何使用java通过yarn api调度sp ...
- 【.NET 深呼吸】.net core 中的轻量级 Composition
记得前面老周写过在.net core 中使用 Composition 的烂文.上回老周给大伙伴们介绍的是一个“重量级”版本—— System.ComponentModel.Composition.应该 ...
- CentOS 6.5 x64下查找依赖包,或用YUM安装
查看某个命令YUM上的安装源 1)当某个命令不存时进行查询所依赖的包,如:pstree [root@localhost ~]# yum provides pstree 已加载插件:fastestmir ...
- Fluent动网格【9】:区域运动
本文所述的区域运动并非动网格中的运动域,而是指在多参考系(MRF)或滑移网格中所涉及到的区域的运动. 在滑移网格中指定区域运动时,除了能够指定绝对运动外,还能指定某一区域与其他区域间的相对运动,如图所 ...