【问题标题】:Android: Activity not launching when clicking widgetAndroid:单击小部件时活动未启动
【发布时间】:2012-07-27 21:52:45
【问题描述】:

我有一个布局有两个按钮的小部件。我的代码如下,

public void onReceive(Context context, Intent i) {

    AppWidgetManager mgr = AppWidgetManager.getInstance(context);

    Intent intent = new Intent(context, Activity1.class);
    PendingIntent pendingLayout = PendingIntent.getActivity(context, 0, intent, 0);


    Intent searchIntent = new Intent(context, Activity2.class);
    PendingIntent searchPendingLayout = PendingIntent.getActivity(context, 0, searchIntent, 0);

    RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.searchwidget);

    views.setOnClickPendingIntent(R.id.widgetbutton, pendingLayout);
    views.setOnClickPendingIntent(R.id.widgetsearch, searchPendingLayout);

    ComponentName comp = new ComponentName(context,
            RecentTaskWidget.class.getName());

    mgr.updateAppWidget(comp, views);
}

widgetbutton 和 widgetsearch 是布局中的两个视图。我从 remoteviews 对象中获取相应的视图,并将挂起的布局添加到每个视图中。但是,活动尚未开始。代码有什么问题吗?

谢谢!

【问题讨论】:

  • 你有什么错误吗?例如no activity found或...?
  • 没有错误...什么也没发生

标签: android android-activity widget


【解决方案1】:

覆盖AppWidgetProvideronUpdate() 方法并将此代码添加到它的主体:

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    AppWidgetManager mgr = AppWidgetManager.getInstance(context);
    Intent intent = new Intent(context, Activity1.class);
    PendingIntent pendingLayout = PendingIntent.getActivity(context, 0, intent, 0);
    Intent searchIntent = new Intent(context, Activity2.class);
    PendingIntent searchPendingLayout = PendingIntent.getActivity(context, 0, searchIntent, 0);
    RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.searchwidget);
    views.setOnClickPendingIntent(R.id.widgetbutton, pendingLayout);
    views.setOnClickPendingIntent(R.id.widgetsearch, searchPendingLayout);
    ...
    appWidgetManager.updateAppWidget(appWidgetIds, views);
}       

您可以查看this page了解更多详情。

【讨论】:

  • 如您所说,将代码移至 onUpdate() ......但它仍然无法正常工作。代码对我来说看起来不错。不知道为什么意图失败
  • @rahul 你添加了我的简单鳕鱼吗?我改变了最后一行,希望对你有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-16
  • 2012-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多