From 399ac289f80b7a40aa4210341db6b447cacdcf14 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 09 八月 2022 17:42:33 +0800 Subject: [PATCH] 广告升级,隐私政策整改 --- app/src/main/java/com/tejia/lijin/app/ui/SplashActivity.java | 145 ++++++++++++++++++++++++++++++------------------ 1 files changed, 91 insertions(+), 54 deletions(-) diff --git a/app/src/main/java/com/tejia/lijin/app/ui/SplashActivity.java b/app/src/main/java/com/tejia/lijin/app/ui/SplashActivity.java index 1294f2c..413ecbf 100644 --- a/app/src/main/java/com/tejia/lijin/app/ui/SplashActivity.java +++ b/app/src/main/java/com/tejia/lijin/app/ui/SplashActivity.java @@ -35,9 +35,11 @@ import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; import com.qq.e.ads.splash.SplashAD; import com.qq.e.ads.splash.SplashADListener; -import com.qq.e.comm.managers.GDTADManager; +import com.qq.e.comm.managers.GDTAdSdk; +import com.qq.e.comm.managers.setting.GlobalSetting; import com.qq.e.comm.util.AdError; import com.tejia.lijin.app.ShoppingApplication; +import com.tejia.lijin.app.ui.dialog.PermissionAuthNotifyDialog; import com.tejia.lijin.app.ui.dialog.UserGuideDialog; import com.tejia.lijin.app.ui.dialog.UserProtocolDialog; import com.tejia.lijin.app.util.user.UserUtil; @@ -72,12 +74,17 @@ import java.util.HashMap; import java.util.List; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; import okhttp3.Call; + +import static android.content.pm.PackageManager.PERMISSION_DENIED; +import static android.content.pm.PackageManager.PERMISSION_GRANTED; /** * Created by weikou2015 on 2017/2/20. */ -public class SplashActivity extends BaseActivity implements SplashADListener { +public class SplashActivity extends Activity implements SplashADListener { // 鎵�闇�鐨勫叏閮ㄦ潈闄� static final String[] PERMISSIONS = new String[]{ Manifest.permission.READ_PHONE_STATE};//, Manifest.permission.READ_EXTERNAL_STORAGE, @@ -121,32 +128,26 @@ super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); initView(); - setShowRecommend(false); // TopStatusSettings.setStatusViewAndDeepColor(this); - ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); - ActivityManager.RunningTaskInfo info = manager.getRunningTasks(1).get(0); - int acitivitynum = info.numActivities; - if (acitivitynum > 1) { - finish(); - } - /*鍚屽寲椤堕儴鐘舵�佹爮*/ - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - Window window = getWindow(); - window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); - window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN - | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); - window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); - window.setStatusBarColor(Color.TRANSPARENT); - //璁剧疆鐘舵�佹爮鏂囧瓧棰滆壊鍙婂浘鏍囦负娣辫壊 - window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - try { - Class decorViewClazz = Class.forName("com.android.internal.policy.DecorView"); - Field field = decorViewClazz.getDeclaredField("mSemiTransparentStatusBarColor"); - field.setAccessible(true); - field.setInt(getWindow().getDecorView(), Color.TRANSPARENT); //鏀逛负閫忔槑 - } catch (Exception e) { + if (UserUtil.isAgreeUserProtocol(getApplicationContext())) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + Window window = getWindow(); + window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + window.setStatusBarColor(Color.TRANSPARENT); + //璁剧疆鐘舵�佹爮鏂囧瓧棰滆壊鍙婂浘鏍囦负娣辫壊 + window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + try { + Class decorViewClazz = Class.forName("com.android.internal.policy.DecorView"); + Field field = decorViewClazz.getDeclaredField("mSemiTransparentStatusBarColor"); + field.setAccessible(true); + field.setInt(getWindow().getDecorView(), Color.TRANSPARENT); //鏀逛负閫忔槑 + } catch (Exception e) { + } } } } @@ -163,14 +164,33 @@ iv_splash = findViewById(R.id.iv_splash); if (UserUtil.isAgreeUserProtocol(this)) { - init(); + nextStep(); } else { - String data = "鎰熻阿鎮ㄥ鐗逛环涓�鐩翠互鏉ョ殑淇′换锛�<br> 鎴戜滑渚濈収鏂扮殑鐩戠瑕佹眰鏉′緥鏇存柊浜�<a href=\"http://h5.tejia.yeshitv.com/privacy.html\" style=\"text-decoration: none;\">銆婇殣绉佹斂绛栥��</a> 鍜�<a href=\"http://h5.tejia.yeshitv.com/user-protocol.html\" style=\"text-decoration: none;\">銆婄敤鎴峰崗璁��</a>锛屼负閲囧彇鐩稿簲瀹夊叏淇濇姢鎺柦锛屽敖鍔涗繚鎶ゆ偍鐨勪釜浜轰俊鎭畨鍏ㄥ彲鎺э紝鐗瑰悜浣犺鏄庡涓嬶細\n" + - "\t\t<br> 1銆佹偍鍦ㄤ娇鐢ㄧ壒浠峰悇椤逛骇鍝佹垨鏈嶅姟鏃讹紝灏嗕細鎻愪緵涓庡叿浣撳姛鑳界浉鍏崇殑涓汉淇℃伅锛堝彲鑳芥秹鍙婂笎鍙枫�佷綅缃�佷氦鏄撶瓑淇℃伅锛夈�俓n" + - "\t\t<br> 2銆佹偍鍙互闅忔椂鏌ヨ銆佹洿姝c�佸垹闄ゆ偍鐨勪釜浜轰俊鎭紝鎴戜滑涔熸彁渚涜处鎴锋敞閿�鐨勬笭閬撱�俓n" + - "\t\t<br> 3銆佹湭缁忔偍鐨勫啀娆″悓鎰忥紝鎴戜滑涓嶄細灏嗕笂杩颁俊鎭敤浜庢偍鏈巿鏉冪殑鍏朵粬鐢ㄩ�旀垨鐩殑銆俓n" + - "\t\t<br> 4銆佹湭缁忕洃鎶や汉鍚屾剰锛屾垜浠笉浼氭敹闆嗕娇鐢�14鍛ㄥ瞾浠ヤ笅锛堝惈14鍛ㄥ瞾锛夋湭鎴愬勾浜轰釜浜轰俊鎭紝涓斾笉浼氬埄鐢ㄥ叾淇℃伅鎺ㄩ�佹柊闂汇�佹椂鏀夸俊鎭�佸箍鍛婄瓑瀹氬悜鎺ㄩ�佹椿鍔ㄣ��"; + String data = "灏婃暚鐨勭敤鎴�:<br>鎰熻阿鎮ㄥ" + getResources().getString(R.string.app_name) + "涓�鐩翠互鏉ョ殑淇′换锛�<br>"; + data += "鎴戜滑闈炲父灏婇噸骞朵繚鎶ゆ偍鐨勪釜浜轰俊鎭�侀殣绉併�備负浜嗘洿濂界殑淇濋殰鎮ㄧ殑鏉冨埄锛屽湪鎮ㄤ娇鐢ㄦ垜浠殑浜у搧涔嬪墠锛岃鎮ㄥ姟蹇呭鎱庨槄璇�"; + data += String.format("<a href='%s'>銆婇殣绉佹斂绛栥��</a>鍜�", "http://h5.tejia.yeshitv.com/privacy.html"); + data += String.format("<a href='%s'>銆婄敤鎴峰崗璁��</a>", "http://h5.tejia.yeshitv.com/user-protocol.html"); + data += "鍐呯殑鎵�鏈夋潯娆撅紝<b>灏ゅ叾鏄細<br>" + + "1銆佹垜浠鎮ㄧ殑涓汉淇℃伅锛堝寘鎷絾涓嶉檺浜�<font color='#FF0000'>璁惧MAC鍦板潃銆両MEI/AndroidID/OAID/IMSI/ICCID/GAID/MEID</font>绛変俊鎭級鐨勬敹闆�/淇濆瓨/浣跨敤/瀵瑰鎻愪緵/淇濇姢绛夎鍒欐潯娆�,浠ュ強鎮ㄧ殑鐢ㄦ埛鏉冨埄绛夋潯娆撅紱<br>" + + "2銆佺害瀹氭垜浠殑闄愬埗璐d换銆佸厤璐f潯娆撅紱<br>" + + "3銆佸叾浠栦互鍔犵矖鎴栨枩浣撳瓧杩涜鏍囪瘑鐨勯噸瑕佹潯娆俱��</b><br>" + + "濡傛偍瀵瑰崗璁湁浠讳綍鐤戣檻锛屽彲閫氳繃鐢靛瓙閭锛� tjapp@qq.com 鍚戞垜浠闂紝鎴戜滑灏嗕负鎮ㄧ璇氳В绛斻�傛偍鐐瑰嚮鈥滃悓鎰忊�濈殑琛屼负浠h〃鎮ㄥ凡闃呰瀹屾瘯骞舵帴鍙椾互涓婂崗璁叏閮ㄦ潯娆俱�傚鎮ㄥ悓鎰忎互涓婂崗璁唴瀹癸紝璇锋偍鐐瑰嚮鈥滃悓鎰忊�濓紝寮�濮嬩娇鐢ㄦ偍鐨勪骇鍝併��"; showUserProtocolAndGuide(data); + } + } + + + private void myRequetPermission() { + if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PERMISSION_GRANTED) { + SharedPreferences sharedPreferences = getSharedPreferences("permission", Context.MODE_PRIVATE); + //鏄惁闇�瑕佸啀娆¤姹傛潈闄� + if (sharedPreferences.getBoolean("show", true)) + ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_CODE); + else { + nextStep(); + } + } else { + nextStep(); } } @@ -190,15 +210,33 @@ public void onClick(DialogInterface dialog, int which) { UserUtil.agreeUserProtocol(getApplicationContext()); dialog.dismiss(); - ShoppingApplication.init(ShoppingApplication.application); - init(); + //灞曠ず寮规 + new PermissionAuthNotifyDialog.Builder(SplashActivity.this).setPositiveButton(null, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + myRequetPermission(); + } + }).create().show(); + //璇锋眰鏉冮檺 } }); dialogBuilder.create().show(); } - private void init() { + + private void nextStep() { + ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); + ActivityManager.RunningTaskInfo info = manager.getRunningTasks(1).get(0); + int acitivitynum = info.numActivities; + if (acitivitynum > 1) { + finish(); + } + if (!ShoppingApplication.init) { + ShoppingApplication.init(ShoppingApplication.application); + } + if (!AlibcTradeSDK.initState.isInitialized() && !AlibcTradeSDK.initState.isInitializing()) taobaoInit(); getSystemParams(); @@ -293,18 +331,21 @@ @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); - if (requestCode == 1024 && hasAllPermissionsGranted(grantResults)) { - GDTAdInfo adInfo = AdUtil.getGDTADInfo(getApplicationContext()); - if (adInfo == null) - return; - fetchSplashAD(this, container, skipView, adInfo.getSplashPid(), this, 0); - } else { - // 濡傛灉鐢ㄦ埛娌℃湁鎺堟潈锛岄偅涔堝簲璇ヨ鏄庢剰鍥撅紝寮曞鐢ㄦ埛鍘昏缃噷闈㈡巿鏉冦�� - Toast.makeText(this, "搴旂敤缂哄皯蹇呰鐨勬潈闄愶紒璇风偣鍑籠"鏉冮檺\"锛屾墦寮�鎵�闇�瑕佺殑鏉冮檺銆�", Toast.LENGTH_LONG).show(); - Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); - intent.setData(Uri.parse("package:" + getPackageName())); - startActivity(intent); - finish(); + if (requestCode == REQUEST_CODE) { + for (int i = 0; i < permissions.length; i++) { + if (grantResults[i] == PERMISSION_GRANTED) {//閫夋嫨浜嗏�滃缁堝厑璁糕�� + myRequetPermission(); + } else { + //鎷掔粷浜嗘巿鏉� + if (grantResults[i] == PERMISSION_DENIED) { + SharedPreferences sharedPreferences = getSharedPreferences("permission", Context.MODE_PRIVATE); + SharedPreferences.Editor editor = sharedPreferences.edit(); + editor.putBoolean("show", false); + editor.commit(); + } + nextStep(); + } + } } } @@ -413,7 +454,8 @@ GDTAdInfo info = new Gson().fromJson(ad.toString(), GDTAdInfo.class); if (info != null) { AdUtil.saveGDTADInfo(getApplicationContext(), info); - GDTADManager.getInstance().initWith(SplashActivity.this, info.getAppId()); + GlobalSetting.setEnableCollectAppInstallStatus(false); + GDTAdSdk.init(SplashActivity.this, info.getAppId()); loadAD(); iv_splash.postDelayed(new Runnable() { @Override @@ -486,10 +528,6 @@ OkHttpUtils.getInstance().cancelTag(tag2); OkHttpUtils.getInstance().cancelTag(tag3); handler.removeCallbacksAndMessages(null); - } - - private void startPermissionsActivity() { - PermissionsActivity.startActivityForResult(this, REQUEST_CODE, true, PERMISSIONS); } @Override @@ -616,8 +654,7 @@ @Override public void onADClicked() { - Log.i("AD_DEMO", "SplashADClicked clickUrl: " - + (splashAD.getExt() != null ? splashAD.getExt().get("clickUrl") : "")); + } /** -- Gitblit v1.8.0