我正在检索以下可用快捷方式列表:
public static ArrayList<PhoneAppItem> getInstalledShortcuts()
{
PackageManager pm = MainApp.get().getPackageManager();
ArrayList<PhoneAppItem> items = new ArrayList<>();
final Intent shortcutsIntent = new Intent(Intent.ACTION_CREATE_SHORTCUT);
List<ResolveInfo> ril = pm.queryIntentActivities(shortcutsIntent, 0);
for (ResolveInfo ri : ril)
{
PhoneAppItem item = new PhoneAppItem(ri.activityInfo.packageName, ri.activityInfo.name);
items.add(item);
}
Collections.sort(items, new Comparator<PhoneAppItem>() {
@Override
public int compare(PhoneAppItem ai1, PhoneAppItem ai2) {
return ai1.getName().compareToIgnoreCase(ai2.getName());
}
});
return items;
}
现在我希望用户能够在我的应用中创建自定义快捷方式。实际上,我已经被困在这里,我现在不知道该怎么做......我知道包装和活动,但必须有一些快捷方式......
问题
如何创建快捷方式(即获取必要的数据以启动意图并将其保存在我的数据库中)?例如,联系人应用程序确实为所有联系人提供了快捷方式,如何在我的应用程序中创建这些快捷方式并使用它?