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要做推广,日期订了,剩下的就只能是排期,定方案,尽可能完成. 最后和产 ...
-
小程序通过 url 向内嵌 H5 传参注意事项
当在小程序中通过 url 向 <web-view> 内嵌的 H5 传参时,当包含特殊字符时需要进行编码处理(不然 <web-view> 中是拿不到值的,小程序竟然没有错误提示. ...
-
移动端开发利器vConsole.js,app内嵌H5开发时调试用
vConsole:一个轻量.可拓展.针对手机网页的前端开发者调试面板,主要还是用于内嵌app页面时在手机上进行调试,打印完全和在PC端一样,方便大家找出问题所在. 不说废话直接进入主题,vConsol ...
随机推荐
-
linux:问题
1>.Xshell远程连接linux闲置时间过长会自动中断连接: 2>.在linux环境下乱码: 3>.在linux下面执行mv /bin/ls /root/bin之后执行ls就不能 ...
-
Java开发WebService的几种方法--转载
webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...
-
LeetCode Contains Duplicate (判断重复元素)
题意: 如果所给序列的元素不是唯一的,则返回true,否则false. 思路: 哈希map解决. class Solution { public: bool containsDuplicate(vec ...
-
NSUserDefaults存数据相关的问题
NSUserDefaults存储数据的类型是有限制的!NSUserDefaults里面只能存储property list objects.具体的内容请看下面的链接.特别的,对于NSDictionary ...
-
Jquery zTree的使用
<%@ page language="java" pageEncoding="utf-8"%><%@taglib prefix="s ...
-
获取API返回值
//$return=getApiResult($url); // if ($return==200){ // //..... // } function getApiResult($url){ if( ...
-
yii2单独给input或者其他标签定义class
<?= $form->field($model, 'price5', ['options' => ['class' => 'col-sm-6']])->textInput ...
-
怎样使用自定义标签简化 js、css 引入?
国庆将至,工作兴致全无,来总结点项目里平时不起眼干货. 前端引入 js .css 一般是这样: <script type="text/javascript" src=&quo ...
-
奇怪吸引子---GenesioTesi
奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...
-
【JAVA】重载和重写的区别
重写(Overriding) 重写规则 1. 参数列表:必须与被重写方法的参数列表完全匹配. 2. 返回类型:必须与超类中被重写的方法中声明的返回类型或子类型完全相同 3. 访问级别:一定不能比被 ...