pro*_*m85 5 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
// and possible shortcuts and then will start the shortcut setup with ACTION_CREATE_SHORTCUT intent
Run Code Online (Sandbox Code Playgroud)
这里的问题是,在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)
Run Code Online (Sandbox Code Playgroud)
并等待结果,我不回来的Intent有Intent.EXTRA_SHORTCUT_INTENT(像所有其他人Intent.EXTRA_SHORTCUT_ICON,...)在里面,但一个与LauncherApps.EXTRA_PIN_ITEM_REQUEST它。但这为时已晚,我想从上面的列表中删除此快捷方式,因为我知道我的应用由于缺少权限而无法启动此类快捷方式...
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |