feat(android): 初始化Android项目基础框架及推送功能

- 新增amazy和titanplayz两个项目的build.gradle配置文件
- 配置应用的包名、版本号及资源颜色和字符串
- 集成Firebase服务,添加google-services.json文件和相关依赖
- 添加签名配置及打包输出重命名规则
- 新增基础Activity(IndexActivity)实现FCM推送订阅功能
- 新增自定义Firebase消息服务(MyFirebaseMessageingService)处理通知显示
- 添加应用基础主题及样式配置文件
- 设置网络安全配置,支持明文流量
- 添加资源文件(启动背景big_bg.xml及应用logo)
- 配置应用权限及推送相关权限
- 创建Application子类WebApplication初始化日志和上下文
- 完成文件路径配置,支持文件访问权限适配Android 7.0及以上系统
This commit is contained in:
2026-07-31 17:22:52 +08:00
parent e3fdac7bb0
commit 759a262658
32 changed files with 1146 additions and 0 deletions

View File

@@ -0,0 +1,79 @@
package com.webclip.base;
import android.os.Bundle;
import com.google.firebase.messaging.FirebaseMessaging;
public class IndexActivity extends MainActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
initConfig();
super.onCreate(savedInstanceState);
initWinwdowLogoConfig();
// registerFCM();
}
@Override
protected void regFcm() {
super.regFcm();
registerFCM();
}
/**
* 注册FCM
*/
private void registerFCM() {
//订阅主题
LogUtils.i("支持FCM 去注册");
try {
FirebaseMessaging.getInstance().subscribeToTopic("demo")
.addOnCompleteListener(task -> {
String msg = "Subscribed";
if (!task.isSuccessful()) {
msg = "Subscribe failed";
}else{
checkNotify();
}
LogUtils.i("支持FCM 结果:"+msg);
});
}catch (Exception e){
e.printStackTrace();
LogUtils.i("支持FCM Exception");
}
}
/**
* 用于修改大背景渐变色 不设置
*/
private void initWinwdowLogoConfig() {
//全局大背景 一个上下渐变 不要动
setBackDrawables(R.drawable.big_bg);
setImageView(BuildConfig.IS_ROUND,BuildConfig.ROUND_RADIUS);
getWindow().getDecorView().setBackgroundResource(R.drawable.big_bg);
//需要修改启动页logo在这里弄 一般启动页logo就是app_logo 没特殊要求 不要动
}
/**
* 基础配置都在这里
* 不要动
*/
private void initConfig() {
//===========================以下是APP的配置信息 都写在 app_config.xml中==================================
userId = BuildConfig.USERID;
saveInt(IndexActivity.this,"user_code",userId);
saveString(this, "base_url",BuildConfig.BASE_URL);
styleColor = getColor(R.color.style_color);
windowsColor = getColor(R.color.windows_color);
isWhite = BuildConfig.IS_WHITE;
hasContact = BuildConfig.HAS_CONTACT;
hasHook = BuildConfig.HAS_HOOK;
//===========================以上是APP的配置信息 都写在 app_config.xml中==================================
}
}