Android 获取没有新静态/动态快捷方式的快捷方式

Android 获取没有新静态/动态快捷方式的快捷方式,android,shortcut,android-8.0-oreo,android-9.0-pie,Android,Shortcut,Android 8.0 Oreo,Android 9.0 Pie,我正在从系统中检索所有可能的快捷方式,如下所示: val pm = context.getPackageManager() val shortcutsIntent = Intent(Intent.ACTION_CREATE_SHORTCUT) val ril = pm.queryIntentActivities(shortcutsIntent, 0) // I progress this data and show my users a custom dialog with apps // a

我正在从系统中检索所有可能的快捷方式,如下所示:

val pm = context.getPackageManager()
val shortcutsIntent = Intent(Intent.ACTION_CREATE_SHORTCUT)
val ril = pm.queryIntentActivities(shortcutsIntent, 0)
// I progress this data and show my users a custom dialog with apps 
// and possible shortcuts and then will start the shortcut setup with ACTION_CREATE_SHORTCUT intent
这里的问题是,在android O或更高版本上,上面的示例也返回新的静态快捷方式-据我所知,应用程序需要作为默认的启动程序。我能把它们过滤掉吗

我有一个类似边栏的应用程序,只能支持普通快捷方式,不能支持较新的静态/动态快捷方式,因为缺少权限

示例

Gmail提供了标签的快捷方式——我在上面看到了这个可能的快捷方式。但是如果我开始设置如下的快捷方式

 val i = Intent(Intent.ACTION_CREATE_SHORTCUT)
 i.addCategory(Intent.CATEGORY_DEFAULT)
 i.component = ComponentName(packageName, activityName)
 startActivityForResult(i, RequestCodes.SHORTCUT_CREATE_REQUEST_CODE)
然后等待结果,我不会返回一个包含
Intent.EXTRA\u SHORTCUT\u Intent
(以及所有其他类似
Intent.EXTRA\u SHORTCUT\u图标
,…)的
Intent
,而是一个包含
LaunchApps.EXTRA\u PIN\u ITEM\u REQUEST
。但这太晚了,我想从上面的列表中删除这个快捷方式,因为我知道我的应用程序无法启动这样的快捷方式,因为缺少权限