ShortcutManager cra sh в мгновенных приложениях - PullRequest
0 голосов
/ 07 января 2020

Когда я запускаю свое мгновенное приложение, я испытываю кр sh из-за функции ярлыка, пожалуйста, посмотрите изображение с трассировкой стека, это единственное, что я могу предоставить, так как я не могу прикрепить отладчик, другая проблема: (*

stacktrace

**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))
    }

Я понимаю, что ярлык не имеет никакого смысла в мгновенном приложении, есть ли лучшее решение, чем комментировать весь код, связанный с ярлыками, при создании IA?

1 Ответ

0 голосов
/ 08 февраля 2020

Я понимаю, что ярлык не имеет смысла в приложении Instant, есть ли лучшее решение, чем когда весь код, связанный с ярлыками, комментируется при создании IA?

Так что да, в Instant Apps запрещено использовать некоторые API в целях безопасности. Раньше для этого была страница с часто задаваемыми вопросами, в которой это указывалось, но я больше не могу ее найти.

Но в любом случае вам не нужно это комментировать. Вы можете использовать:

/ instantapps / PackageManagerCompat.html # isInstantApp ()

...