作者 潘达康

1、加入获取渠道标识

2、加入Action,改为隐式启动
3、更改包名为com.qw7277.game、显示名为7277游戏
... ... @@ -3,17 +3,15 @@ plugins {
}
android {
namespace 'com.qiwan.gamebox'
namespace 'com.qw7277.game'
compileSdk 29
defaultConfig {
applicationId "com.qiwan.gamebox"
applicationId "com.qw7277.game"
minSdk 21
targetSdk 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
... ... @@ -26,6 +24,9 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lint {
baseline = file("lint-baseline.xml")
}
}
dependencies {
... ...
<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 7.3.1" type="baseline" client="gradle" dependencies="false" name="AGP (7.3.1)" variant="fatal" version="7.3.1">
<issue
id="ExpiredTargetSdkVersion"
message="Google Play requires that apps target API level 31 or higher.&#xA;"
errorLine1=" targetSdkVersion 29"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="build.gradle"
line="12"
column="9"/>
</issue>
</issues>
... ...
... ... @@ -11,11 +11,13 @@
tools:targetApi="31">
<activity
android:name="com.qiwan.gamebox.MainActivity"
android:name=".MainActivity"
android:screenOrientation="portrait"
android:exported="true">
<intent-filter>
<action android:name="com.qw7277.game.ACTION_START"/>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
... ...
package com.qiwan.gamebox;
package com.qw7277.game;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.WindowManager;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.LinearLayout;
import android.widget.Toast;
import com.qw7277.game.util.AppUtils;
import com.readystatesoftware.systembartint.SystemBarTintManager;
public class MainActivity extends Activity {
private Context mContext;
private LinearLayout mLlRoot;
private WebView mWebView;
private SystemBarTintManager mTintManager;
private String mUrl = "https://cdn.kky.cn/yxhz/index.html#/home";
private String mParams="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
mTintManager = new SystemBarTintManager(this);
mTintManager.setStatusBarTintEnabled(false);
mTintManager.setNavigationBarTintEnabled(true);
... ... @@ -36,13 +43,13 @@ public class MainActivity extends Activity {
initView();
initWebView();
initData();
mWebView.loadUrl(mUrl);
Log.d("ZhenWan", mUrl+"?"+mParams);
mWebView.loadUrl(mUrl+"?"+mParams);
}
private void initView() {
mLlRoot = findViewById(R.id.ll_root);
mLlRoot.setPadding(0, mTintManager.getConfig().getStatusBarHeight(), 0, mTintManager.getConfig().getNavigationBarHeight()+20);
mLlRoot.setPadding(0, mTintManager.getConfig().getStatusBarHeight(), 0, mTintManager.getConfig().getNavigationBarHeight() + 20);
mWebView = findViewById(R.id.webview);
}
... ... @@ -58,21 +65,21 @@ public class MainActivity extends Activity {
private void initData() {
Bundle extras = getIntent().getExtras();
if (extras != null) {
if (extras.containsKey("AuthParams")) {
String parameterValue = extras.getString("AuthParams");
mUrl = mUrl + "?" + parameterValue;
}
if (extras != null && extras.containsKey("AuthParams")) {
mParams = extras.getString("AuthParams");
}
String cid = AppUtils.getLogicChannel(mContext, "sid");
mParams += (TextUtils.isEmpty(mParams) ? "" : "&") + "cid=" + cid;
}
private long mBackPressedTime = 0;
@Override
public void onBackPressed() {
if (mWebView != null && mWebView.canGoBack()) {
mWebView.goBack();
} else {
if(System.currentTimeMillis() - mBackPressedTime > 2000) {
if (System.currentTimeMillis() - mBackPressedTime > 2000) {
Toast.makeText(this, "再按一次退出应用", Toast.LENGTH_SHORT).show();
mBackPressedTime = System.currentTimeMillis();
} else {
... ...
package com.qw7277.game.util;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import java.io.IOException;
import java.util.Enumeration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class AppUtils {
public static String getLogicChannel(Context context, String prefix) {
try {
ApplicationInfo appInfo = context.getApplicationInfo();
String sourceDir = appInfo.sourceDir;
String key = "META-INF/" + prefix;
try (ZipFile zip = new ZipFile(sourceDir)) {
Enumeration<? extends ZipEntry> entries = zip.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = entries.nextElement();
String entryName = entry.getName();
if (entryName.startsWith(key)) {
String sidPattern = prefix + "_(\\d+)";
Pattern pattern = Pattern.compile(sidPattern);
Matcher matcher = pattern.matcher(entryName);
if (matcher.find()) {
return matcher.group(1); // 返回匹配到的数字部分
}
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
// 获取不到默认返回1
return "1";
}
}
... ...
<resources>
<string name="app_name">7277</string>
<string name="app_name">7277手游</string>
</resources>
\ No newline at end of file
... ...