有没有办法为小部件中的按钮设置唯一的通知,以免在创建第二个小部件时被覆盖?

问题描述 投票:0回答:1

我一直在做一些 Android Widgets 教程,同时学习 Kotlin。 我已经成功设置了一个带有按钮的小部件和该按钮的通知,该按钮执行一些代码,然后更新小部件。

当尝试添加第二个小部件并尝试添加另一个意图通知时,我看到第一个按钮现在更新了第二个小部件。就好像我在第二个按钮中设置的通知会更新并覆盖第一个通知。

我正在使用标准

PendingIntent.getBroadcast(
[..]
_UPDATE or _IMMUTABLE)
功能,每次都会创建一个新意图,用于设置通知触发。 我还没有机会测试,我应该从代码中删除
IMMUTABLE
标志吗? 我明天可以提供一些代码。

编辑:一些代码,如承诺的那样:

val intent = Intent(context, Counter::class.java).also {
        it.setAction(MY_ACTION)
        it.putExtra("appWidgetId", appWidgetId)
    }

    // Get the layout for the widget and attach an onClick listener to
    // the button.
    views.apply {
        setOnClickPendingIntent(
            R.id.button, PendingIntent.getBroadcast(
                context,
                0,
                intent,
                PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
            )
        )
    }
android kotlin button widget
1个回答
0
投票
PendingIntent.getBroadcast(
                context,
                0,
                intent,
                PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
            )

看到了吗

0
?对于应用程序小部件中的每个按钮来说,这需要是一个不同的值
RemoteViews

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.