在widget touch上重新打开app widget的Configuration Activity?

时间:2014-10-24 12:34:21

标签: android widget android-appwidget

我开始尝试使用app小部件,目前我只是在Android Studio中使用google提供的股票代码 - 即使用上下文菜单为app小部件创建必要的文件和代码。

在此示例设置中启用配置活动时,会生成一个示例窗口小部件,它只显示用户在配置活动中输入的文本。

但是,当用户按下窗口小部件时,默认情况下配置活动是否会再次打开,以便他们可以更改文本?或者是否必须设置显式事件侦听器或类似的东西来再次打开配置活动?如果是这样,那么关于如何实现这一目标的任何线索或指示都将是最受欢迎的。

1 个答案:

答案 0 :(得分:1)

要执行您要求的操作,您需要注册触发配置活动的配置意图。

在onUpdate方法中,您将执行以下操作:

RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.yourwidgetlayout);
Intent configIntent = new Intent(context, ConfigurationActivity.class);
configIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, currentWidgetId);

PendingIntent configPendingIntent = PendingIntent.getActivity(context, currentWidgetId, configIntent, 0);
views.setOnClickPendingIntent(R.id.yourfavouritelayout, configPendingIntent);
configIntent.setAction(ACTION_WIDGET_CONFIGURE + Integer.toString(currentWidgetId));

其中R.id.yourlayout是触摸时需要触发配置活动的布局的ID。作为一个注释,我会在一个小的设置"如果小部件应该有控件,那么按钮,而不是整个小部件。