android 如何让应用程序在主菜单[launcher]程序列表分类显示在各个屏中?

2024-11-04 23:35:26
推荐回答(4个)
回答1:

需要向launcher发送创建桌面快捷的广播,告诉android系统创建桌面图标。
具体实现方式:
1.要在手机桌面上添加快捷方式,首先需要在manifest中添加权限。






2.添加快捷方式,是向桌面应用(launcher)发送相关action的广播,相关的action如下:public static final String ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";

3.调用以下代码:
private void addShortcut(String name) {
Intent addShortcutIntent = new Intent(ACTION_ADD_SHORTCUT);

// 不允许重复创建
addShortcutIntent.putExtra("duplicate", false);// 经测试不是根据快捷方式的名字判断重复的
// 应该是根据快链的Intent来判断是否重复的,即Intent.EXTRA_SHORTCUT_INTENT字段的value
// 但是名称不同时,虽然有的手机系统会显示Toast提示重复,仍然会建立快链
// 屏幕上没有空间时会提示
// 注意:重复创建的行为MIUI和三星手机上不太一样,小米上似乎不能重复创建快捷方式

// 名字
addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);

// 图标
addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(MainActivity.this,
R.drawable.ic_launcher));

// 设置关联程序
Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
launcherIntent.setClass(MainActivity.this, MainActivity.class);
launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);

addShortcutIntent
.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launcherIntent);

// 发送广播
sendBroadcast(addShortcutIntent);
}

4.如果要创建多个,只需要调用多次即可

回答2:

挺吊的,呵呵,还改程序。那就要从你现在的桌面软件着手,先解包反编译,然后用你学过的JAVA语言基础,&##@(改程序代码,省略1万字)¥W&,之后再打包,签名即可。

什么?没学过JAVA?那你还不用第三方桌面软件还在等什么?

综述,通过简单的改代码控制是不行的。不如换个桌面实在些,如果是强迫症,可以下载一个可以移动程序列表的桌面(有这样的桌面,可以随意拖动摆放程序),放到系统桌面文件夹,替换掉系统桌面,重启手机(有风险,失败的话,会因为没有桌面而会黑屏,我遭遇过,后来刷机解决),做到这一步了,应该不会怕刷机什么的吧。。

回答3:

系统自带功能就可以排序了,你费那劲干嘛

回答4:

下载个GO桌面吧!挺好用的!画面也很漂亮