Android 動態替換手機桌面圖示
現在淘寶,京東等App在節假日開啟時,都是採用一套節假日的圖示,這種不用發版本,又可以隨著後臺配置動態替換圖示固然是很方便,體驗很好的事情.
動態替換圖示使用的是manifest檔案配置入口別名activity-alias:
配置檔案:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mychangeicondome">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:icon="@mipmap/ic_launcher"
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity-alias
android:icon="@mipmap/ic_launcher"
android:name=".test_activity"
android:enabled="false"
android:label="OtherName"
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>
程式碼部分:
public class MainActivity extends AppCompatActivity {
private ComponentName componentName;
private ComponentName componentNameDefault;
private PackageManager packageManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//獲取元件別名
componentName = new ComponentName(getBaseContext(), getPackageName() + ".test_activity");
componentNameDefault = new ComponentName(getBaseContext(), getClass().getName());
packageManager = getPackageManager();
}
/**
*
* 切換狀態
* @param view
*/
public void mclick(View view){
if (packageManager.getComponentEnabledSetting(componentName)==PackageManager.COMPONENT_ENABLED_STATE_DISABLED || packageManager.getComponentEnabledSetting(componentName) == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT){
packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP);
packageManager.setComponentEnabledSetting(componentNameDefault, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);
}else if (packageManager.getComponentEnabledSetting(componentName)==PackageManager.COMPONENT_ENABLED_STATE_ENABLED){
packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);
packageManager.setComponentEnabledSetting(componentNameDefault, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP);
}
}
}
相關文章
- Jenkins實戰之動態替換Android應用圖示JenkinsAndroid
- Android動態更換應用圖示Android
- 【iOS】動態更換圖示iOS
- Android應用設定多個啟動圖示,動態列換應用圖示Android
- 空閒時間研究一個小功能:winform桌面程式如何實現動態更換桌面圖示ORM
- 手機桌面更換詳解
- macOS Big Sur應用圖示替換教程︳big sur圖示包Mac
- 介面自動化之引數動態生成替換
- Android動態控制手機螢幕方向Android
- 替換macOS Big Sur 應用圖示的教程Mac
- Android動態修改應用圖示和名稱Android
- php怎麼替換文件中手機號碼PHP
- Mybatis(一)Porxy動態代理和sql解析替換MyBatisSQL
- 如何為一個例項動態替換方法
- Gradle多渠道打包(動態設定App名稱,應用圖示,替換常量,更改包名,變更渠道)GradleAPP
- Gradle多渠道打包(動態設定App名稱,應用圖示,替換常量,更改包名,變更渠道)...GradleAPP
- canvas實現動態替換人物的背景顏色Canvas
- 10桌面圖示不能隨意拖動怎麼辦 win10桌面圖示不能拖動的方法Win10
- win10 開機桌面圖示顯示慢如何處理 win10電腦開機顯示桌面圖示慢解決方法Win10
- Android RatingBar自定義替換系統圖片Android
- 【iOS】動態修改APP圖示iOSAPP
- ### iOS10.3雞肋新特性 動態更換App圖示iOSAPP
- win10圖示替換軟體怎麼操作_win10如何改變app圖示Win10APP
- 效能優化 (八) APK 加固之動態替換 Application優化APKAPP
- iOS 10.3新特性之動態替換App IconiOSAPP
- 安卓-自動切換APP圖示安卓APP
- 安卓手機開機鈴聲怎麼去掉?能替換鈴聲嗎安卓
- ios中桌面圖示以及啟動頁面尺寸iOS
- win10桌面圖示怎麼隨意擺放 取消桌面圖示自動排列設定的方法Win10
- macOS 動態桌面Mac
- win10 桌面圖示拖不動怎麼辦_wn10桌面圖示無法拖動的解決步驟Win10
- Android 每次點選桌面圖示都會重新開啟Android
- Android:使用SpannableString實現圖片替換相應的文字Android
- win10開機桌面圖示會亂怎麼辦_win10開機桌面圖示都會亂了怎麼辦Win10
- win10如何設定桌面顯示圖示_windows10顯示桌面圖示設定方法Win10Windows
- windows10 桌面圖示在哪裡_win10如何設定桌面圖示WindowsWin10
- AE製作livephoto動態圖示
- 動態顯示資料庫圖片資料庫