具有配置活动的Android Studio默认应用程序小组件

时间:2016-10-29 11:02:30

标签: android android-activity widget android-appwidget

我的默认Android Studio应用小工具有问题(NEW→XML→WIDGET→APP WIDGET) 不久,Android Studio提供的默认应用小部件就是以这种方式工作的:

  1. 在主屏幕上放置示例窗口小部件会自动启动“配置活动”
  2. 您可以添加文本(TextView),然后通过单击“添加窗口小部件按钮”
  3. 接受此操作
  4. 配置活动正在关闭,在主屏幕上显示示例窗口小部件(现在在窗口小部件上,您可以看到您在几秒钟前在配置活动中输入的文本)。
  5. 我想为此示例添加新功能。点击小部件应再次打开配置活动。 (在默认设计中,无法再打开“配置活动”)。

    我尝试在堆栈溢出时搜索它,但我发现不能使用该默认应用程序Widget的示例...; /

1 个答案:

答案 0 :(得分:0)

最后,我找到了解决方案: Multiple Instances Of Widget Only Updating Last widget

这一行是我的问题。 PendingIntent widgetPendingIntent = PendingIntent.getActivity(context, appWidgetId ,widgetIntent,0);

将下面的代码放在Widget类

    static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
                            int appWidgetId) {

    //Setup onClick
    Intent widgetIntent = new Intent(context,PaydayWidgetConfigureActivity.class);
    widgetIntent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
    widgetIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
    PendingIntent widgetPendingIntent = PendingIntent.getActivity(context, appWidgetId, widgetIntent, 0);

    CharSequence widgetText = PaydayWidgetConfigureActivity.loadTitlePref(context, appWidgetId);
    RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.payday_widget);
    remoteView.setTextViewText(R.id.appwidget_text, widgetText);
    remoteView.setOnClickPendingIntent(R.id.appwidget_text, widgetPendingIntent);

    // Tell the widget manager
    appWidgetManager.updateAppWidget(appWidgetId, remoteView);

}