动态更改应用桌面图标
来源:互联网 发布:广西广电网络官网 编辑:程序博客网 时间:2024/05/01 12:21
基础部分:
activity-alias:可以用于创建多个不同的入口
android:enabled:默认为 true,创建多个入口时,先修改为 false。
android:icon:应用图标
android:label:应用名称
android:name:activity-alias 的别名
android:targetActivity:入口目标 Activity
android.intent.action.MAIN:决定最先启动的 Activity
android.intent.category.LAUNCHER:决定应用是否在显示在程序列表中
实际应用:
MainActivity
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button btn_change11; private Button btn_change22; private ComponentName mChange11; private ComponentName mChange22; private ComponentName mDefault; private PackageManager packageManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化布局 initView(); //初始化ComponentName initChange(); } private void initChange() { mDefault=getComponentName(); //注意new ComponentName 时填写 activity-alias 的别名时需要加上包名 mChange11=new ComponentName(getBaseContext(),"com.test.change_icon.change11"); mChange22=new ComponentName(getBaseContext(),"com.test.change_icon.change22"); packageManager=getApplicationContext().getPackageManager(); } private void initView() { btn_change11=findViewById(R.id.btn_change11); btn_change22=findViewById(R.id.btn_change22); btn_change11.setOnClickListener(this); btn_change22.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.btn_change11: changeIcon11(); break; case R.id.btn_change22: changeIcon22(); break; default: break; } } private void changeIcon22() { disableComponent(mDefault); disableComponent(mChange11); enableComponent(mChange22); } private void changeIcon11() { disableComponent(mDefault); disableComponent(mChange22); enableComponent(mChange11); } private void enableComponent(ComponentName componentName) { packageManager.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP); } private void disableComponent(ComponentName componentName) { packageManager.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP); }}
Manifesr.xml
<application android:allowBackup="true" android:icon="@drawable/s3" android:label="@string/app_name" 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-alias android:name=".default" android:enabled="false" android:icon="@drawable/s1" android:label="@string/app_name" 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:name=".change11" android:enabled="false" android:icon="@drawable/s1" android:label="更换图标1" 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:name=".change22" android:enabled="false" android:icon="@drawable/s2" android:label="更换图标2" android:targetActivity=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity-alias> </application>
参考文章 “ 徐宜生 Android群英传 “
阅读全文
0 0
- 动态更改应用桌面图标
- android 更改桌面图标
- android动态改变桌面图标
- 动态刷新桌面图标
- Android 动态替换桌面图标
- Android 应用动态更改图标和名字
- android应用隐藏桌面图标
- Android 应用没有桌面图标
- (4.6.25)Android动态更换应用Icon之玩转桌面图标
- Android之动态更换桌面图标
- Android应用自动添加桌面图标
- Android应用自动添加桌面图标
- Android应用自动添加桌面图标
- ubuntu 创建桌面图标执行应用
- 怎么更改win7登录界面 梦幻桌面动态效果电脑桌面快速分屏设置虚拟wifi热点方法_桌面图标弹出提示飞雪桌面日历自定义桌面
- 桌面图标
- 桌面图标
- Android动态来改变App桌面图标
- Python编译过程图解
- 581. Shortest Unsorted Continuous Subarray
- 实操《深入浅出React和Redux》第二期—Flux
- centos6.8升级gcc
- java.sql.SQLException: 无效的列索引
- 动态更改应用桌面图标
- js的function传值,字符串无法传值,
- webview显示html乱码/<p><strong>等标签无效/排版问题
- win10家庭版安装loadrunner、卸载loadrunner、运行场景报错“管理员已阻止你运行此应用”的解决办法
- js 分享到三方平台
- poi工具类
- Android异步消息处理Handler
- java常用正则表达式验证
- jquery实现点击空白处隐藏元素