Yes, Its possible, In this question everyone mentioned like
this.setTitle("your text");
this will change only your activity name not app logo here I show you how to change the app logo and appname dynamicly
First add your dynamic app icons in the mipmap folder , after that add the below code in your AndroidManifest.xml
file
Add <activity-alias>
for your app icon
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- Disable the original activity app icon in launcher -->
<!-- <category android:name="android.intent.category.LAUNCHER" /> -->
</intent-filter>
</activity>
<activity-alias android:label="Anand"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:name=".MainActivityAlias1"
android:enabled="true"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<activity-alias android:label="Anand 1"
android:icon="@mipmap/ic_launcher2"
android:roundIcon="@mipmap/ic_launcher2_round"
android:name=".MainActivityAlias2"
android:enabled="false"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
</application>
After doing these methods on your activity, just do below things on button click
import android.content.ComponentName
import android.content.pm.PackageManager
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button1.setOnClickListener{
packageManager?.setComponentEnabledSetting(
ComponentName(applicationContext.packageName, applicationContext.packageName + ".MainActivityAlias1"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP
)
packageManager?.setComponentEnabledSetting(
ComponentName(applicationContext.packageName, applicationContext.packageName + ".MainActivityAlias2"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP
)
}
button2.setOnClickListener{
packageManager?.setComponentEnabledSetting(
ComponentName(applicationContext.packageName, applicationContext.packageName + ".MainActivityAlias1"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP
)
packageManager?.setComponentEnabledSetting(
ComponentName(applicationContext.packageName, applicationContext.packageName + ".MainActivityAlias2"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP
)
}
}
}
for more details refer this github project