Я пишу простое купонное приложение и хочу реализовать ярлыки для запуска, чтобы я мог быстро создавать купоны, не заходя в мое приложение.
Проблема в том, что я генерирую купоны с изображениями. Эти изображения генерируются из намерений дополнений. Я передаю изображение как «дополнительный» для моего генератора купонов.
Когда я создаю статический ярлык, я могу передать дополнительное намерение, и мой купон может быть сгенерирован, но я не знаю, что делать с динамическим ярлыком.
Мне нужен динамический ярлык, потому что я загружаю свои изображения с помощью «R.drawable.coupon_cheeseburger», поэтому я не могу использовать его со статическими ярлыками.

package com.szakes1.makdolannative.activities
import android.content.pm.ShortcutInfo
import android.content.pm.ShortcutManager
import android.graphics.drawable.Icon
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.core.content.ContextCompat
import androidx.core.content.getSystemService
import androidx.viewpager.widget.PagerAdapter
import androidx.viewpager.widget.ViewPager
import com.google.android.material.tabs.TabLayout
import com.szakes1.makdolannative.R
import com.szakes1.makdolannative.adapters.ViewPagerAdapter
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
private lateinit var tabLayout: TabLayout
private lateinit var viewPager: ViewPager
private lateinit var pagerAdapter: PagerAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
if (Build.VERSION.SDK_INT >= 25) {
val shortcutManager = getSystemService<ShortcutManager>(ShortcutManager::class.java)
val shortcut = ShortcutInfo.Builder(context, "hamburger")
.setShortLabel("Hamburger")
.setLongLabel("Wygeneruj kod dla hamburgera")
.setIcon(Icon.createWithResource(context, R.drawable.ic_burger))
.setExtras()
}
// Sets color for Navigation and Status Bar
if (Build.VERSION.SDK_INT >= 21) {
val color = ContextCompat.getColor(applicationContext, R.color.colorPrimaryDark)
window.statusBarColor = color
window.navigationBarColor = color
}
tabLayout = findViewById(R.id.tabLayout)
viewPager = findViewById(R.id.viewPager)
pagerAdapter = ViewPagerAdapter(supportFragmentManager, 5)
viewPager.adapter = pagerAdapter
tabLayout.setupWithViewPager(viewPager, true)
}
}