代码优化

This commit is contained in:
DelLevin-Home
2026-07-01 00:33:22 +08:00
parent afd012b766
commit 0af1af7f1a
16 changed files with 106 additions and 11 deletions

View File

@@ -1,4 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="top.iletter.mooknote">
<application
android:label="MookNote"
android:name="${applicationName}"
@@ -19,13 +20,17 @@
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- 图标1: 默认图标 -->
<activity-alias
android:name=".MainActivityIcon1"
android:targetActivity=".MainActivity"
android:enabled="true"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher"
@@ -35,7 +40,7 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<!-- 图标2: 风格二 -->
<activity-alias
android:name=".MainActivityIcon2"

View File

@@ -34,22 +34,32 @@ class MainActivity : FlutterActivity() {
private fun switchLauncherIcon(iconName: String) {
val pm = packageManager
val mainActivity = ComponentName(this, "${packageName}.MainActivity")
val icon1 = ComponentName(this, "${packageName}.MainActivityIcon1")
val icon2 = ComponentName(this, "${packageName}.MainActivityIcon2")
val icon3 = ComponentName(this, "${packageName}.MainActivityIcon3")
// 先全部禁用
// 先禁用所有别名
pm.setComponentEnabledSetting(icon1, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP)
pm.setComponentEnabledSetting(icon2, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP)
pm.setComponentEnabledSetting(icon3, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP)
// 启用选中的
val target = when (iconName) {
"app_icon2" -> icon2
"app_icon_m" -> icon3
else -> icon1
when (iconName) {
"app_icon2" -> {
// 切换到图标2禁用主Activity的LAUNCHER启用别名
pm.setComponentEnabledSetting(mainActivity, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP)
pm.setComponentEnabledSetting(icon2, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP)
}
"app_icon_m" -> {
// 切换到图标3禁用主Activity的LAUNCHER启用别名
pm.setComponentEnabledSetting(mainActivity, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP)
pm.setComponentEnabledSetting(icon3, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP)
}
else -> {
// 切换回默认图标启用主Activity禁用所有别名已在上面禁用
pm.setComponentEnabledSetting(mainActivity, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP)
}
}
pm.setComponentEnabledSetting(target, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP)
}
private fun getCurrentIcon(): String {