【Android】动态更新Icon
生活随笔
收集整理的這篇文章主要介紹了
【Android】动态更新Icon
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
動(dòng)態(tài)更改圖標(biāo)主要用到activity-alias和PackageManager的setComponentEnabledSetting方法。具體步驟如下:
1、在AndroidManifest.xml中增加以下聲明:
<activity-aliasandroid:name=".alias"android:enabled="false"android:icon="@mipmap/icon"android:label="Alias"android:targetActivity=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter> </activity-alias>完整文件如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.wangyz.dynamicicon"><applicationandroid: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" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity-aliasandroid:name=".alias"android:enabled="false"android:icon="@mipmap/icon"android:label="Alias"android:targetActivity=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity-alias></application></manifest>2、切換圖標(biāo)
getPackageManager().setComponentEnabledSetting(getComponentName(),PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP); getPackageManager().setComponentEnabledSetting(new ComponentName(this,getPackageName() + ".alias"),PackageManager.COMPONENT_ENABLED_STATE_ENABLED,0);setComponentEnabledSetting方法的最后一個(gè)參數(shù),PackageManager.DONT_KILL_APP表示不關(guān)閉App,0表示關(guān)閉App刷新圖標(biāo)。
完整文件如下:
package com.wangyz.dynamicicon;import android.content.ComponentName; import android.content.pm.PackageManager; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void changeIcon(View view) {getPackageManager().setComponentEnabledSetting(getComponentName(),PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);getPackageManager().setComponentEnabledSetting(new ComponentName(this,getPackageName() + ".MainActivity"),PackageManager.COMPONENT_ENABLED_STATE_ENABLED,0);}public void changeIconAlias(View view) {getPackageManager().setComponentEnabledSetting(getComponentName(),PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);getPackageManager().setComponentEnabledSetting(new ComponentName(this,getPackageName() + ".alias"),PackageManager.COMPONENT_ENABLED_STATE_ENABLED,0);} }源碼地址:https://github.com/milovetingting/Samples/tree/master/DynamicIcon
轉(zhuǎn)載于:https://www.cnblogs.com/milovetingting/p/10436746.html
總結(jié)
以上是生活随笔為你收集整理的【Android】动态更新Icon的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 阿里开源分布式事务解决方案 Fesca
- 下一篇: MySQL:行锁、表锁、乐观锁、悲观锁、