将Android Widget限制为每个设备一个实例

时间:2010-12-29 08:16:49

标签: android android-widget

我如何限制Android小部件,以便用户始终只能创建一个实例?

一种可能的方法是存储SharedPreference包含counter变量并崩溃,如果计数为1,但显然我不赞成该解决方案。 ; - )

2 个答案:

答案 0 :(得分:7)

  

我如何限制Android小部件,以便用户始终只能创建一个实例?

你不能。

但是,仅仅因为用户要求您的应用小部件的多个实例并不意味着您必须为每个实例管理单独的数据。只需忽略ID并使用不带任何ID的updateAppWidget()方法。

答案 1 :(得分:0)

我喜欢这样:

在用户创建第一个窗口小部件时,在窗口小部件onUpdate方法上,我保存窗口小部件的ID并更新窗口小部件,第二次调用onUpdate时(更新添加的窗口小部件时),然后检查窗口小部件的相同ID并更新它,否则告诉用户只允许使用一个小部件。

  @Override
    public void onDisabled(Context context) {
        // Enter relevant functionality for when the last widget is disabled
            TinyDB tinydb = new TinyDB(context);
            tinydb.putInt("WidgetID", -1);
    }

并且不要忘记::如果用户删除所有小部件以将其保存到共享的首选项中,则我使用int -1,所以我使用以下代码:

library(dplyr)

df %>%
  add_count(rs., trial, name = "Total") %>%
  add_count(rs., trial, marker, name = "MarkerTotal") %>%
  mutate(RelativeFreq = round(MarkerTotal / Total, 2))

它就像一个魅力!哇!