Android:获取安装的快捷方式

我已经看到了做捷径的方法,但我需要find一种方法来获取手机上安装的快捷方式列表。

我希望我的用户能够select他/她的快捷方式之一,并从我的应用程序启动它。 有没有办法做到这一点(API),或者我需要一个reflection方法来调用系统服务?

Solutions Collecting From Web of "Android:获取安装的快捷方式"

快捷方式对于启动器是私有的。 没有API,任何你试图做的事情都会非常脆弱,因为不同的启动器实现(和版本)将有不同的存储结构。

这里是如何在启动器中完成的…

 Intent shortcutsIntent = new Intent(Intent.ACTION_CREATE_SHORTCUT); List<ResolveInfo> shortcuts = getPackageManager().queryIntentActivities(shortcutsIntent, 0); 

我正在尝试做同样的事情,有很多事情不清楚这个话题,至less不清楚我的………..一个例子是Openapp市场,创build快捷方式,每次你“下载”一个应用程序,但它实际上只是一个链接到一个HTML页面的快捷方式。 无论如何,我有2个Android手机,并在第一个工作在第二个不创build任何捷径…….

在可能的应用程序,我做以下几点:

  Intent shortcutIntent = new Intent(this,FinestraPrincipaleActivity.class); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); shortcutIntent.putExtra("someParameter", "HelloWorld"); Intent addIntent = new Intent(); addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Shortcut Name"); addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.icon)); addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); this.sendBroadcast(addIntent); 

但有人告诉我,这是错的,但我没有find任何其他方式来创build快捷方式….