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> 中是拿不到值的,小程序竟然没有错误提示. ...
随机推荐
- eclipse 导入android 项目重名解决方法
在进行andoid 开发时会用到许多的开源框架,但有时候发现几天框架的项目名字都是 library. 解决方法: 1.如果项目中没有 .project 文件,直接修改项目文件夹的名字即可,注意在你引用 ...
- microsoft viso 下载地址
https://pan.baidu.com/s/1pLBhG19
- 获取SQL server 中的表和说明
SELECT 表名 = case when a.colorder = 1 then d.name else '' end, 表说明 = case w ...
- pytorch写一个LeNet网络
我们先介绍下pytorch中的cnn网络 学过深度卷积网络的应该都非常熟悉这张demo图(LeNet): 先不管怎么训练,我们必须先构建出一个CNN网络,很快我们写了一段关于这个LeNet的代码,并进 ...
- Linux安装gcc时碰到的有关问题解决(解决gcc依赖有关问题)
Linux安装gcc时碰到的有关问题解决(解决gcc依赖有关问题) rpm安装gcc时碰到的有关问题解决(解决gcc依赖有关问题) 提示:error: Failed dependencies: clo ...
- C_关于递归算法的几个例子
1.递归算法的定义: 2.递归与迭代的优劣 eg1:斐波那契数列:斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibona ...
- 【数论】Factors of Factorial @upcexam6503
问题 G: Factors of Factorial 时间限制: 1 Sec 内存限制: 128 MB提交: 57 解决: 33[提交][状态][讨论版][命题人:admin] 题目描述 You ...
- Deepin 15.4 个性化设置
2017.10.03,开始使用 Deepin 15.4.1 桌面系统 Chrome 版本 60.0.3112.78(正式版本) (64 位) 1.开启 ls 别名: vim .bashrc 去掉以下代 ...
- Linux如何快速跳转到文档开头或者末尾
输入 gg 命令,光标会移动到文档开头 : 输入 G 命令,光标会移动到文档末尾: 另外可以敲击 上下键.Page UP.Page Down 键快速查看文档:
- Python中syncio和aiohttp
CPython 解释器本身就不是线程安全的,因此有全局解释器锁(GIL),一次只允许使用一个线程执行 Python 字节码.因此,一个 Python 进程通常不能同时使用多个 CPU 核心.然而,标准 ...