parent
cd7f326b55
commit
1bcef7f347
|
|
@ -4,10 +4,10 @@
|
||||||
<selectionStates>
|
<selectionStates>
|
||||||
<SelectionState runConfigName="app">
|
<SelectionState runConfigName="app">
|
||||||
<option name="selectionMode" value="DROPDOWN" />
|
<option name="selectionMode" value="DROPDOWN" />
|
||||||
<DropdownSelection timestamp="2026-03-13T03:47:40.083936900Z">
|
<DropdownSelection timestamp="2026-03-24T05:48:19.296324800Z">
|
||||||
<Target type="DEFAULT_BOOT">
|
<Target type="DEFAULT_BOOT">
|
||||||
<handle>
|
<handle>
|
||||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=Y5DELZR46DZTCI9D" />
|
<DeviceId pluginId="PhysicalDevice" identifier="serial=JRBI89BIE6AI5TG6" />
|
||||||
</handle>
|
</handle>
|
||||||
</Target>
|
</Target>
|
||||||
</DropdownSelection>
|
</DropdownSelection>
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,11 @@ android {
|
||||||
create("huawei") { dimension = "channel" }
|
create("huawei") { dimension = "channel" }
|
||||||
create("oppo") { dimension = "channel" }
|
create("oppo") { dimension = "channel" }
|
||||||
create("vivo") { dimension = "channel" }
|
create("vivo") { dimension = "channel" }
|
||||||
|
create("honor") { dimension = "channel" }
|
||||||
|
create("ks_tg") { dimension = "channel" }
|
||||||
|
create("bd_tg") { dimension = "channel" }
|
||||||
|
create("yyb") { dimension = "channel" }
|
||||||
|
create("baidu") { dimension = "channel" }
|
||||||
|
|
||||||
// 自动将渠道名同步给个推和友盟的渠道占位符
|
// 自动将渠道名同步给个推和友盟的渠道占位符
|
||||||
all {
|
all {
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@
|
||||||
<!--开关wifi状态,解决国内机型移动网络权限问题需要-->
|
<!--开关wifi状态,解决国内机型移动网络权限问题需要-->
|
||||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
|
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
||||||
<!--Unimp要求-->
|
<!--Unimp要求-->
|
||||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
||||||
<!-- 安装应用权限 -->
|
<!-- 安装应用权限 -->
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
package com.img.rabbit
|
package com.img.rabbit
|
||||||
|
|
||||||
|
import android.app.ActivityManager
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
|
import android.content.Context
|
||||||
|
import android.os.Build
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import com.img.rabbit.utils.NetworkMonitor
|
import com.img.rabbit.utils.NetworkMonitor
|
||||||
|
|
@ -27,32 +30,44 @@ class BaseApplication : Application() {
|
||||||
|
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
super.onCreate()
|
super.onCreate()
|
||||||
// 非小程序进程(使用unimp 关键字 可以根据宿主的具体情况进行调整)
|
// 只有是主进程时,才执行重量级初始化
|
||||||
if (!RuningAcitvityUtil.getAppName(baseContext).contains("unimp")) {
|
if (getProcessName(this) == packageName) {
|
||||||
|
Log.i(TAG, "进行必要的SDK初始化...")
|
||||||
|
// 初始化MMKV
|
||||||
|
initMMKV()
|
||||||
|
// 非小程序进程(使用unimp 关键字 可以根据宿主的具体情况进行调整)
|
||||||
|
if (PreferenceUtil.getAgreement() && !RuningAcitvityUtil.getAppName(baseContext).contains("unimp")) {
|
||||||
|
Log.i(TAG, "已同意隐私政策,BaseApplication开始初始化SDK服务...")
|
||||||
|
initThirdParty()
|
||||||
|
initUM()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun attachBaseContext(base: Context?) {
|
||||||
|
//MultiDex.install(base)
|
||||||
|
super.attachBaseContext(base)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 隐私同意即可初始化
|
||||||
|
*/
|
||||||
|
fun initThirdParty(){
|
||||||
|
//需要在隐私框架下才能处理的逻辑
|
||||||
|
if(PreferenceUtil.getAgreement()){
|
||||||
|
Log.i(TAG, "用户已同意隐私政策,开始初始化第三方服务")
|
||||||
// 初始化网络状态监控
|
// 初始化网络状态监控
|
||||||
NetworkMonitor.initialize(this)
|
NetworkMonitor.initialize(this)
|
||||||
//初始化Glide
|
//初始化Glide
|
||||||
Glide.get(this)
|
Glide.get(this)
|
||||||
// 初始化MMKV
|
|
||||||
initMMKV()
|
|
||||||
// 初始化个推SDK
|
// 初始化个推SDK
|
||||||
initGeTuiOneKeyLogin()
|
initGeTuiOneKeyLogin()
|
||||||
// 初始化OAID和uni-app SDK
|
// 初始化OAID和uni-app SDK
|
||||||
initOAIDAndUniAPPSdk()
|
initOAIDAndUniAPPSdk()
|
||||||
//需要在隐私框架下才能处理的逻辑
|
|
||||||
if(PreferenceUtil.getAgreement()){
|
|
||||||
//用户已同意隐私政策
|
|
||||||
// 初始化友盟(每次启动时检查协议是否同意,如同意进行初始化)
|
|
||||||
initUM()
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun attachBaseContext(base: android.content.Context?) {
|
|
||||||
//MultiDex.install(base)
|
|
||||||
super.attachBaseContext(base)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -77,26 +92,22 @@ class BaseApplication : Application() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initMMKV() {
|
private fun initMMKV() {
|
||||||
val rootDir = MMKV.initialize(this)
|
MMKV.initialize(this)
|
||||||
Log.i(TAG, "MMKV root dir: $rootDir")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initOAIDAndUniAPPSdk() {
|
private fun initOAIDAndUniAPPSdk() {
|
||||||
if(PreferenceUtil.getOAID().isNullOrEmpty()){
|
if(PreferenceUtil.getOAID().isNullOrEmpty()){
|
||||||
DeviceID.getOAID(this, object : IGetter{
|
DeviceID.getOAID(this, object : IGetter{
|
||||||
override fun onOAIDGetComplete(result: String?) {
|
override fun onOAIDGetComplete(result: String?) {
|
||||||
Log.i(TAG, "获取OAID成功,OAID: $result ,开始记录OAID,并初始化Uni-app SDK----->")
|
|
||||||
PreferenceUtil.saveOAID(result)
|
PreferenceUtil.saveOAID(result)
|
||||||
initUniAPPSdk()
|
initUniAPPSdk()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onOAIDGetError(error: Exception?) {
|
override fun onOAIDGetError(error: Exception?) {
|
||||||
Log.i(TAG, "获取OAID失败,开始初始化Uni-app SDK----->")
|
|
||||||
initUniAPPSdk()
|
initUniAPPSdk()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}else{
|
}else{
|
||||||
Log.i(TAG, "已识别到OAID,开始初始化Uni-app SDK----->")
|
|
||||||
initUniAPPSdk()
|
initUniAPPSdk()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -124,4 +135,20 @@ class BaseApplication : Application() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun getProcessName(context: Context): String? {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||||
|
return getProcessName()
|
||||||
|
}
|
||||||
|
|
||||||
|
val am = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
|
||||||
|
val runningApps = am.runningAppProcesses ?: return null
|
||||||
|
for (proInfo in runningApps) {
|
||||||
|
if (proInfo.pid == android.os.Process.myPid()) {
|
||||||
|
return proInfo.processName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -281,6 +281,7 @@ class MainActivity : ComponentActivity(), LoadingCallback {
|
||||||
if (isAllowPrivacyPolicy) {
|
if (isAllowPrivacyPolicy) {
|
||||||
generalViewModel.setIsAgreement(true)
|
generalViewModel.setIsAgreement(true)
|
||||||
loginViewModel.setIsPolicyAgreement(true)
|
loginViewModel.setIsPolicyAgreement(true)
|
||||||
|
(applicationContext as BaseApplication).initThirdParty()
|
||||||
initUM()
|
initUM()
|
||||||
showSplash = true
|
showSplash = true
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue