Как передать дополнения в динамический ярлык? - PullRequest
0 голосов
/ 11 ноября 2019

Я пишу простое купонное приложение и хочу реализовать ярлыки для запуска, чтобы я мог быстро создавать купоны, не заходя в мое приложение.

Проблема в том, что я генерирую купоны с изображениями. Эти изображения генерируются из намерений дополнений. Я передаю изображение как «дополнительный» для моего генератора купонов.

Когда я создаю статический ярлык, я могу передать дополнительное намерение, и мой купон может быть сгенерирован, но я не знаю, что делать с динамическим ярлыком.

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

kotlin

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...