0

当我运行我的即时应用程序时,由于快捷方式功能而崩溃,请查看带有堆栈跟踪的图像,这是我唯一可以提供的,因为我无法附加调试器,另一个问题:(

堆栈跟踪

**GroupApplication.class**
override fun onCreate() {
    ...
    ShortcutsHelper.init(this)
    ShortcutsHelper.addSearchShortcut()
}
object ShortcutsHelper {
    lateinit var appContext: Context
    lateinit var shortcutManager: ShortcutManager

    fun init(context: Context) {
        this.appContext = context.applicationContext
        this.shortcutManager = context.getSystemService(ShortcutManager::class.java)
    }

    fun addSearchShortcut() {
        val shortcut = ShortcutInfo.Builder(appContext, SEARCH_SHORTCUT_ID)
                .setShortLabel(appContext.getString(R.string.search_shortcut_short_label))
                .setLongLabel(appContext.getString(R.string.search_shortcut_long_label))
                .setIcon(Icon.createWithResource(appContext, R.drawable.ic_search_black))
                .setIntent(GroupHomeActivity.getStartIntent(appContext, NavigationScreen.SEARCH))
                .build()

        shortcutManager.addDynamicShortcuts(listOf(shortcut))
    }

我知道快捷方式在 Instant App 中没有任何意义,有没有比在创建 IA 时注释所有与快捷方式相关的代码更好的解决方案?

4

1 回答 1

0

我知道快捷方式在 Instant App 中没有任何意义,有没有比在创建 IA 时注释所有与快捷方式相关的代码更好的解决方案?

所以是的,出于安全目的,Instant Apps 被限制运行某些 API。曾经有一个FAQ页面表明这一点,但我再也找不到了。

但无论如何,你不必评论它。您可以使用:

/instantapps/PackageManagerCompat.html#isInstantApp()

于 2020-02-07T23:11:17.063 回答