【问题标题】:AppWidgets - Updating Intent extras contents dynamicallyAppWidgets - 动态更新 Intent 附加内容
【发布时间】:2012-07-08 08:23:28
【问题描述】:

我有一个 AppWidget 与两个 Activities 交互。首先Activity 要求用户输入一些文本。这是从AppWidget 开始这个Activity 的代码:

Intent promptIntent = new Intent(context,
        TransparentPromptActivity.class);
promptIntent.putExtra("appwidget_id", appWidgetId);
promptIntent.putExtra("message", incomingMessage);
PendingIntent promptPendingIntent = PendingIntent.getActivity(
        context, 0, promptIntent, 0);
views.setOnClickPendingIntent(R.id.app_widget_tv,
        promptPendingIntent);

这个Activity 将输入的消息发送回显示它的AppWidget。然后有一个Activity 分享消息,这里是启动这个Activity 的代码:

Intent shareIntent = new Intent(context, MainActivity.class);
shareIntent.putExtra("message", incomingMessage);
PendingIntent sharePendingIntent = PendingIntent.getActivity(
        context, 0, shareIntent, 0);
views.setOnClickPendingIntent(R.id.app_widget_btn_share,
        sharePendingIntent);

如您所见,消息存储在本地incomingMessage 变量中。但是,当第二个Activity启动时,incomingMessage为空,表示变量值变化时Intent的内容不会更新。怎样才能达到这种效果?提前致谢。

【问题讨论】:

    标签: android android-intent android-appwidget android-pendingintent


    【解决方案1】:

    这个效果如何实现?

    如果您要在同一核心 Intent(例如,对于同一活动)上创建 PendingIntent 并且正在更改附加内容,请在您的 getActivity() 调用上使用适当的标志,例如 FLAG_UPDATE_CURRENT

    话虽如此,由于TransparentPromptActivityMainActivity 不是同一个活动,FLAG_UPDATE_CURRENT 将无济于事。也许您的问题是 incomingMessage 在您的第二种情况下是 null

    【讨论】:

      猜你喜欢
      • 2012-08-27
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多