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的更多相关文章

  1. 微信小程序中使用 <web-view> 内嵌 H5 时,登录问题的处理方法

    在微信小程序的开发中,经常遇到需要使用 <web-view></web-view> 内嵌 H5 的需求.在这种需求中比较棘手的问题应该就是登录状态的判断了,小程序中的登录状态怎 ...

  2. ios应用内嵌h5页面数据自动变色识别为手机号码的解决方法——手机号码拨号禁用IOS手机页面数字自动识别为手机号

    异常如下: ios应用内嵌h5页面,本来是设置了白色的数字,两三秒之后会自动变为黑色,然后点击的时候就会弹出是否拨号的提示: 解决方法: 添加如下meta标签,即可解决: <meta name= ...

  3. APP中内嵌H5页面为什么不能下载?

    在APP中内嵌H5页面,若页面上存在下载链接,没有任何反应,为什么呢? 原因是app中内嵌的H5页面是WebView解析的,什么是WebView呢? 在Android手机中内置了一款高性能webkit ...

  4. android内嵌H5页(webview)如何定位

    一.切换至webview后再定位元素 (1)获取页面上下文 contexts = driver.contexts (2)切换至webview driver.switch_to.context(cont ...

  5. appium常见问题02_android内嵌H5页(webview)如何定位

    现在大多数app都是由原生页面和内嵌H5(即webview)组成,app原生页面直接定位即可,那内嵌H5页面要如何定位呢. 相信大多数人用appium做自动化时都有遇到这个问题,小编总结了下工作中该问 ...

  6. 安卓内嵌H5只展示部分静态页面

    问题: 安卓内嵌H5在华为P9部分机型只展示h5静态页面无法展示接口返回渲染的页面 解决办法: Android  关闭硬件加速   android:hardwareAccelerated=" ...

  7. 小程序内嵌H5——判断小程序环境的坑

    现在各种小程序风靡,这边H5的需求还没有搞定,产品又要求做小程序版本,做可以,关键是618前上线,我-- whatever,618要做推广,日期订了,剩下的就只能是排期,定方案,尽可能完成. 最后和产 ...

  8. 小程序中webview内嵌h5页面

    小程序内嵌h5页面跳转小程序指定页面,  需要引用  JSSDK:   <script src="https://res.wx.qq.com/open/js/jweixin-1.3.2 ...

  9. 小程序通过 url 向内嵌 H5 传参注意事项

    当在小程序中通过 url 向 <web-view> 内嵌的 H5 传参时,当包含特殊字符时需要进行编码处理(不然 <web-view> 中是拿不到值的,小程序竟然没有错误提示. ...

随机推荐

  1. pythonweb服务器编程(一)

    HTTP协议简介 1. 使用谷歌/火狐浏览器分析 在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来.而浏览器和服务器之间的传输协议是HTTP,所以: ...

  2. C++程序设计方法4:成员函数模板

    成员函数的模板: 普通类的成员函数,也可以定义为函数模板,如: class normal_class { public: int value; template<typename T> v ...

  3. 验证码类validateCode

    PHP验证码类,代码如下: <?php //验证码类 class ValidateCode { private $charset = 'abcdefghkmnprstuvwxyzABCDEFGH ...

  4. sql 索引笔记

    以下资料来自MSDN. 数据库注意事项 设计索引时,应考虑以下数据库准则: 一个表如果建有大量索引会影响 INSERT.UPDATE 和 DELETE 语句的性能,因为在表中的数据更改时,所有索引都须 ...

  5. 【二分图带权匹配】Anagram @山东省第九届省赛 A

    题目描述 Orz has two strings of the same length: A and B. Now she wants to transform A into an anagram o ...

  6. java新特性

    第一章:java8新特性 1.1 lambda表达式 1.2 Stream API 1.3 java8新特性总结 第二章:java9新特性 2.1 mac下多版本jdk的安装和管理 第三章:java1 ...

  7. elementUI tree组件获取当前选择所有选中(check)和半选中(indeterminate)的节点

    网上查了半天,一大堆都说要改源码的,最后发现有方法不用改源码的 获取方法如下 this.$refs.tree.getCheckedKeys().concat(this.$refs.tree.getHa ...

  8. 保存一个经常用的Makefile

    ############################################################# # Generic Makefile for C/C++ Program # ...

  9. c++中POD类型和non-POD类型

    对于一个array来说: For POD-types, a shallow copy or memcpy of the whole array is good enough, while for no ...

  10. table表格内容溢出处理

    直接在table标签加上  style="table-layout:fixed;word-wrap:break-word;"