Commit adc7c2e3 authored by 王雪伟's avatar 王雪伟

修改web跳转

parent bd542b60
......@@ -27,6 +27,10 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- BlackBox 请在下面配置您的partnercode-->
<meta-data
android:name="PARTNER_CODE"
android:value="yanmao" />
</application>
</manifest>
\ No newline at end of file
package com.ym.zxhcsdkaar;
public interface ITdListener {
void getTd(String s);
}
package com.ym.zxhcsdkaar;
import android.content.Context;
import android.util.Log;
import com.ym.zxhcsdk.HttpClientUtils;
import cn.tongdun.android.shell.FMAgent;
import cn.tongdun.android.shell.inter.FMCallback;
public class TDUtils {
public void TD(Context context, ITdListener listener){
new FMAgent().initWithCallback(context, FMAgent.ENV_PRODUCTION, new FMCallback() {
@Override
public void onEvent(String s) {
listener.getTd(s);
}
});
}
}
......@@ -16,11 +16,9 @@
<application>
<activity
android:name=".webview.WebActivity"
android:name="com.ym.zxhcsdk.webview.HcWebActivity"
android:exported="true"
android:screenOrientation="fullSensor"
android:theme="@android:style/Theme.Light.NoTitleBar"
>
android:screenOrientation="fullSensor">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
......
......@@ -14,9 +14,7 @@ public class AppInstallReceive extends BroadcastReceiver {
if (TextUtils.equals(intent.getAction(),Intent.ACTION_PACKAGE_ADDED)){
String packageName = intent.getData().getSchemeSpecificPart();
if (!TextUtils.isEmpty(packageName)) {
Log.d("wxw","安装完成"+ZXHCConstant.adList.size());
for (int i =0;i<ZXHCConstant.adList.size();i++){
Log.d("wxw","安装完成"+ZXHCConstant.adList.get(0).getPackage_name());
if (packageName.equals(ZXHCConstant.adList.get(i).getPackage_name())){
InstallFinishReport(ZXHCConstant.adList.get(i));
ZXHCConstant.adList.remove(i);
......@@ -28,13 +26,11 @@ public class AppInstallReceive extends BroadcastReceiver {
if (TextUtils.equals(intent.getAction(),Intent.ACTION_PACKAGE_REMOVED)){
String packageName = intent.getData().getSchemeSpecificPart();
if (!TextUtils.isEmpty(packageName)) {
Log.d("wxw","ACTION_PACKAGE_REMOVED"+ZXHCConstant.adList.size());
}
}
if (TextUtils.equals(intent.getAction(),Intent.ACTION_PACKAGE_REPLACED)){
String packageName = intent.getData().getSchemeSpecificPart();
if (!TextUtils.isEmpty(packageName)) {
Log.d("wxw","ACTION_PACKAGE_REPLACED"+ZXHCConstant.adList.size());
}
}
// intent.getAction()
......
......@@ -41,6 +41,9 @@ public class DownLoadUtils {
//下载apk
public boolean downloadAPK(HcAdBean adBean) {
if (ZXHCConstant.adList.size()<=0){
return false;
}
for (int i = 0; i < ZXHCConstant.adList.size(); i++) {
if (ZXHCConstant.adList.get(i).getDUrl().equals(adBean.getDUrl())) {
// Log.d("wxw", "正在下载");
......
......@@ -11,7 +11,6 @@ import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
......@@ -66,8 +65,8 @@ public class HttpClientUtils {
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setInstanceFollowRedirects(true);
connection.setConnectTimeout(50000);
connection.setReadTimeout(50000);
connection.setConnectTimeout(30000);
connection.setReadTimeout(30000);
// User-Agent IE9的标识
//connection.setRequestProperty("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;");
connection.setRequestProperty("Accept-Language", "zh-CN");
......@@ -85,8 +84,6 @@ public class HttpClientUtils {
//connection.setDoOutput(true);//Android 4.0 GET时候 用这句会变成POST 报错java.io.FileNotFoundException
connection.setUseCaches(false);
connection.connect();//
Log.d("wxw","connection.getURL(); "+connection.getURL());
int contentLength = connection.getContentLength();
if (connection.getResponseCode() == 200) {
inputStream = connection.getInputStream();//会隐式调用connect()
......@@ -101,7 +98,6 @@ public class HttpClientUtils {
isSuccess = true;
} else {
//Log.d("wxw","errorUrl "+requestUrl);
message = "请求失败 code:" + connection.getResponseCode() + connection.getResponseMessage();
}
......@@ -228,6 +224,7 @@ public class HttpClientUtils {
}
private static void getImg(String url, OnRequestImgCallBack callBack) {
Log.d("wxw","wxw"+url);
boolean isSuccess = false;
String message = "";
URL imgUrl = null;
......@@ -282,32 +279,6 @@ public class HttpClientUtils {
request = new HashMap<>();
}
String str = "";
//// request.put("pid","2100154");
//// request.put("type","api");
//// request.put("ad_type","3");
//// request.put("ad_w","720");
//// request.put("ad_h","1280");
// request.put("app_id", ZXHCConstant.ZXHC_APPID);
// request.put("app_package","com.popcap.pvz2cthd");
// request.put("app_name","com.popcap.pvz2cthd");
// request.put("app_version","1005");
// request.put("device_imei","X6GNU17524105082");
// request.put("device_adid","d0cf1c3d5280f16b");
// request.put("device_mac","F0:C8:50:A1:4E:8E");
// request.put("device_width","1920");
// request.put("device_height","1132");
// request.put("device_imsi","460000501365163");
// request.put("device_network","1");
// request.put("device_os","Android");
// request.put("device_os_version","device_os_version");
// request.put("device_density","2.0");
// request.put("device_ppi","2.0");
// request.put("device_ip","183.211.87.156");
// request.put("device_ua","Dalvik%2F2.1.0+%28Linux%3B+U%3B+Android+9%3B+Redmi+Note+8+Pro+MIUI%2FV10.4.9.0.PGGCNXM%29");
// request.put("device_type","0");
// request.put("is_mobile","1");
// request.put("device_model","FLA-AL10");
// request.put("device_brand","HUAWEI");
request.put("app_id", ZXHCConstant.ZXHC_APPID);
request.put("app_package", ZXHCConstant.app_package);
request.put("app_name", ZXHCConstant.app_name);
......
......@@ -25,6 +25,10 @@ import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.view.Display;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
......@@ -40,6 +44,7 @@ import java.net.SocketException;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Locale;
......@@ -795,4 +800,138 @@ public class PhoneUtils {
}
}
public HcAdBean jsonToObj(String jsonString) {
HcAdBean adBean = null;
try {
JSONObject root = new JSONObject(jsonString);
adBean = new HcAdBean();
adBean.setHeight(root.optInt("height"));
adBean.setWidth(root.optInt("width"));
//曝光
JSONArray monitorUrl = root.optJSONArray("monitorUrl");
List<String> monitorList = new ArrayList<String>();
if (monitorUrl != null) {
for (int i = 0; i < monitorUrl.length(); i++) {
monitorList.add(monitorUrl.optString(i));
}
}
adBean.setMonitorUrl(monitorList);
//点击
JSONArray clickUrl = root.optJSONArray("clickUrl");
List<String> clickList = new ArrayList<String>();
if (clickUrl != null) {
for (int i = 0; i < clickUrl.length(); i++) {
clickList.add(clickUrl.optString(i));
}
}
adBean.setClickUrl(clickList);
//图片
JSONArray srcUrl = root.optJSONArray("srcUrls");
List<String> srcList = new ArrayList<String>();
if (srcUrl != null) {
for (int i = 0; i < srcUrl.length(); i++) {
srcList.add(srcUrl.optString(i));
}
}
adBean.setSrcUrls(srcList);
//落地页
JSONArray dUrl = root.optJSONArray("dUrl");
List<String> dList = new ArrayList<String>();
if (dUrl != null) {
for (int i = 0; i < dUrl.length(); i++) {
dList.add(dUrl.optString(i));
}
}
adBean.setDUrl(dList);
adBean.setPid(root.optString("pid"));
adBean.setCid(root.optInt("cid"));
adBean.setPlan_id(root.optInt("plan_id"));
adBean.setTarget_type(root.optString("target_type"));
adBean.setAd_show_type(root.optInt("ad_show_type"));
adBean.setFrom(root.optString("from"));
adBean.setReq_id(root.optString("req_id"));
adBean.setApp_name(root.optString("app_name"));
adBean.setPackage_name(root.optString("package_name"));
adBean.setDown_url(root.optString("down_url"));
adBean.setTitle(root.optString("title"));
adBean.setContent(root.optString("content"));
adBean.setDeeplink(root.optString("deeplink"));
JSONArray startInstallmonitorUrl = root.optJSONArray("startInstallmonitorUrls");
List<String> startInstallmonitorUrlList = new ArrayList<String>();
if (startInstallmonitorUrl != null) {
for (int i = 0; i < startInstallmonitorUrl.length(); i++) {
startInstallmonitorUrlList.add(startInstallmonitorUrl.optString(i));
}
}
adBean.setStartInstallmonitorUrls(startInstallmonitorUrlList);
JSONArray finishInstallmonitorUrl = root.optJSONArray("finishInstallmonitorUrls");
List<String> finishInstallmonitorList = new ArrayList<String>();
if (finishInstallmonitorUrl != null) {
for (int i = 0; i < finishInstallmonitorUrl.length(); i++) {
finishInstallmonitorList.add(finishInstallmonitorUrl.optString(i));
}
}
adBean.setFinishInstallmonitorUrls(finishInstallmonitorList);
JSONArray startdownloadmonitorUrl = root.optJSONArray("startdownloadmonitorUrls");
List<String> startInstallmonitorList = new ArrayList<String>();
if (startdownloadmonitorUrl != null) {
for (int i = 0; i < startdownloadmonitorUrl.length(); i++) {
startInstallmonitorList.add(startdownloadmonitorUrl.optString(i));
}
}
adBean.setStartdownloadmonitorUrls(startInstallmonitorList);
JSONArray finishdownloadmonitorUrl = root.optJSONArray("finishdownloadmonitorUrls");
List<String> finishdownloadmonitorlList = new ArrayList<String>();
if (finishdownloadmonitorUrl != null) {
for (int i = 0; i < finishdownloadmonitorUrl.length(); i++) {
finishdownloadmonitorlList.add(finishdownloadmonitorUrl.optString(i));
}
}
adBean.setFinishdownloadmonitorUrls(finishdownloadmonitorlList);
JSONArray activemonitorUrl = root.optJSONArray("activemonitorUrls");
List<String> activemonitorList = new ArrayList<String>();
if (activemonitorUrl != null) {
for (int i = 0; i < activemonitorUrl.length(); i++) {
activemonitorList.add(activemonitorUrl.optString(i));
}
}
adBean.setActivemonitorUrls(activemonitorList);
JSONArray dpSuccmonitorUrl = root.optJSONArray("dpSuccmonitorUrls");
List<String> dpSuccmonitorList = new ArrayList<String>();
if (dpSuccmonitorUrl != null) {
for (int i = 0; i < dpSuccmonitorUrl.length(); i++) {
dpSuccmonitorList.add(dpSuccmonitorUrl.optString(i));
}
}
adBean.setDpSuccmonitorUrls(dpSuccmonitorList);
JSONArray dpFailmonitorUrl = root.optJSONArray("dpFailmonitorUrls");
List<String> dpFailmonitorList = new ArrayList<String>();
if (dpFailmonitorUrl != null) {
for (int i = 0; i < dpFailmonitorUrl.length(); i++) {
dpFailmonitorList.add(dpFailmonitorUrl.optString(i));
}
}
adBean.setDpFailmonitorUrls(dpFailmonitorList);
} catch (JSONException e) {
e.printStackTrace();
}
return adBean;
}
}
......@@ -7,21 +7,21 @@ import android.os.Build;
import android.util.AttributeSet;
import android.webkit.WebView;
public class CustomWebView extends WebView {
public CustomWebView(Context context) {
public class HcCustomWebView extends WebView {
public HcCustomWebView(Context context) {
super(getFixedContext(context));
}
public CustomWebView(Context context, AttributeSet attrs) {
public HcCustomWebView(Context context, AttributeSet attrs) {
super(getFixedContext(context), attrs);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public CustomWebView(Context context, AttributeSet attrs, int defStyleAttr) {
public HcCustomWebView(Context context, AttributeSet attrs, int defStyleAttr) {
super(getFixedContext(context), attrs, defStyleAttr);
}
public CustomWebView(Context context, AttributeSet attrs, int defStyleAttr, boolean privateBrowsing) {
public HcCustomWebView(Context context, AttributeSet attrs, int defStyleAttr, boolean privateBrowsing) {
super(getFixedContext(context), attrs, defStyleAttr, privateBrowsing);
}
......
package com.ym.zxhcsdk.webview;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
import com.ym.zxhcsdk.R;
public class WebActivity extends Activity {
public class HcWebActivity extends Activity {
private String url;
private String title;
private CustomWebView webView;
private HcCustomWebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_web);
//getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.hc_activity_web);
url = getIntent().getStringExtra("url");
title = getIntent().getStringExtra("title");
//title = getIntent().getStringExtra("title");
webView = findViewById(R.id.activity_webview);
initTitle();
initWebView();
webView.loadUrl(url);
}
private void initWebView() {
WebSettings webSettings = webView.getSettings();
webSettings.setSupportZoom(true); //支持缩放,默认为true。是下面那个的前提。
webSettings.setBuiltInZoomControls(true); //设置内置的缩放控件。若为false,则该WebView不可缩放
webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件
webSettings.setAllowFileAccess(true); //设置可以访问文件
webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口
webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片
webSettings.setDefaultTextEncodingName("utf-8");//设置编码格式
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
// webView.getSettings().setDefaultFontSize(56);
......@@ -42,8 +55,19 @@ public class WebActivity extends Activity {
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
try {
// Uri uri = Uri.parse(url);
// Intent intent = new Intent(Intent.ACTION_VIEW, uri);
// intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// startActivity(intent);
// Log.d("wxw","0urllll "+url);
} catch (Exception e) {
Log.d("wxw","1urllll "+url);
}
Log.d("wxw","2urllll "+url);
view.loadUrl(url);
return true;
return false;
}
});
// webView.loadDataWithBaseURL(null, url, "text/html", "utf-8", null);//解决乱码问题
......@@ -57,7 +81,7 @@ public class WebActivity extends Activity {
finish();
}
});
TextView tv_title = findViewById(R.id.tv_user_toolbar_title);
//TextView tv_title = findViewById(R.id.tv_user_toolbar_title);
// tv_title.setText(title + "");
}
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".webview.WebActivity">
android:orientation="vertical">
<RelativeLayout
android:id="@+id/id_rl_toolbar"
......@@ -32,7 +30,7 @@
</RelativeLayout>
<com.ym.zxhcsdk.webview.CustomWebView
<com.ym.zxhcsdk.webview.HcCustomWebView
android:id="@+id/activity_webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment