在Kotlin活动中更改应用程序图标的方法与在Java活动中相同。以下是更改应用程序图标的步骤:
android:icon="@mipmap/ic_launcher"
android:icon="@mipmap/my_icon"
示例代码:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 设置应用程序图标
setIcon(R.mipmap.my_icon)
setContentView(R.layout.activity_main)
}
private fun setIcon(iconRes: Int) {
try {
val info: ApplicationInfo = packageManager.getApplicationInfo(packageName, PackageManager.GET_META_DATA)
info.icon = iconRes
val appIcon: Field = ApplicationInfo::class.java.getDeclaredField("icon")
appIcon.isAccessible = true
appIcon.set(info, iconRes)
} catch (e: PackageManager.NameNotFoundException) {
Log.d("ERROR", e.message.toString())
} catch (e: NoSuchFieldException) {
Log.d("ERROR", e.message.toString())
} catch (e: IllegalAccessException) {
Log.d("ERROR", e.message.toString())
}
}
}
该示例代码以编程方式更改了应用程序图标,而不是使用AndroidManifest.xml文件。此方法可能对某些特殊情况有用,例如更改应用程序图标时需要进行某些其他操作。