10

可以在我的 android 启动器上从 ADB 创建快捷方式吗?我有一个 .bat 文件可以从我的 PC 安装我的应用程序(通过双击),但在此之后我需要始终在启动器的巨大(不是那么用户友好)应用程序列表中进行搜索。如果可以将此功能添加到我的 .bat 文件中,那就太好了。我已经尝试在网上搜索没有任何运气:S。

提前致谢

4

1 回答 1

11

有几种方法可以处理这个问题。如果您的主要需求是每次重新编辑时都能快速启动应用程序,那么 anadb shell am intent -n com.example.app/.App是最简单的解决方案。

如果您只想创建一个快捷方式(并且您不在乎在哪里) ,请com.android.launcher.action.INSTALL_SHORTCUT按照每个人的说法使用。您需要一个应用程序或 bin 来执行此操作,因为 am 广播不会采用嵌套意图。

如果您正在使用特定的启动器(如 ADW Launcher),您可以破解快捷方式数据库。这将允许您指定快捷方式的坐标(在本例中为 [2, 3])

adb shell sqlite3 /data/data/org.adw.launcher/databases/launcher.db "DELETE FROM favorites WHERE _id=1; INSERT INTO favorites VALUES(1,'MyApp','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.example.app/.App;end',-100,0,2,3,1,1,0,-1,NULL,0,NULL,NULL,NULL,NULL,NULL);"

您需要告诉启动器从数据库中刷新。通常唯一的方法是杀死发射器。更高版本的 am(ActivityManager shell 命令)具有重新启动包的选项,而早期版本没有。在这种情况下,您需要编写一个小应用程序:

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage("org.adw.launcher");
于 2013-03-18T14:32:03.710 回答