我必须创建我的android应用程序快捷方式,并把它放在主屏幕的特定位置。
我能够成功地通过以下代码为应用程序创建快捷方式-
Intent shortcutIntent = new Intent(getApplicationContext(), MainActivity.class);
shortcutIntent.setAction(Intent.ACTION_MAIN);
Intent addIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "customizeScreenLayout");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.mipmap.ic_launcher));
addIntent.putExtra("duplicate", false); //may it's already there so don't duplicate
getApplicationContext().sendBroadcast(addIntent);
我可以在上面的代码中添加什么,以便我可以将快捷方式放置在主屏幕的特定位置(即:(在特定的x,y坐标)?
我很确定你没有什么可以添加来指定一个特定的位置。查看源代码,似乎定位新快捷键的算法是硬连接到InstallShortcutReceiver
的。
我很好奇,如果有一种方法可以做你想做的事情,如果在指定的位置已经有了快捷方式,你会希望发生什么?如果指定的位置可能不存在于主页上,您将如何处理不同的屏幕尺寸?
感谢您的及时回复。我在这里发布的问题只是一个项目的一部分,我想让一个应用程序检查系统上所有安装的应用程序,并为他们创建快捷方式。然后检查数据库中的x, y坐标,我们需要在那里定位应用程序,并把它放在那里。
现在假设指定一个特定的位置是可能的,我打算做的是-1)卸载所有快捷方式2)然后在需要的位置安装不同应用的快捷方式
同样,这里假设我正在处理固定的屏幕尺寸,并且指定的位置总是存在。
让我知道如果你发现什么或如果你需要额外的信息。