我们经常看到在五一,或者双十一,过年等节日,手机软件换LOGO及标签名的,其实这些都是内置的通过服务器接口实现的,客服端实现原理如下
<activity-alias android:name="TagActivity" android:enabled="false" android:label="新标签名" android:icon="标签名对应的LOGO图标" android:exported="true" android:targetActivity=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity-alias>
程序加载原理
PackageManager packageManager = getPackageManager(); packageManager.setComponentEnabledSetting(new ComponentName(this, getPackageName() + ".DefaultAlias"), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
这里可以添加多个别名对应的setComponentEnabledSetting方法原理同上&#