从Widget启动时将变量/意图传递给活动

时间:2010-12-21 23:30:06

标签: android android-activity android-widget

目前在我的应用程序中的一个活动中,我可以调用另一个活动并以下列方式将变量传递给它:

Intent myIntent = new Intent(parentView.getContext(), ShowStations.class);
myIntent.putExtra("stationName", stations[position].StationName);
startActivity(myIntent);

这很好用,但现在我希望能够从我的Widget中做同样的事情。目前,此代码适用于从我的窗口小部件启动特定活动:

Intent WidgetIntent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER).setComponent(new ComponentName("grell.com", "grell.com.FavStations"));
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, WidgetIntent, 0);
    updateViews.setOnClickPendingIntent(R.id.widget_main, pendingIntent);

所以现在我想知道如何启动第一个示例中显示的相同活动,但也传递'stationName'变量。

非常感谢任何帮助。

干杯

1 个答案:

答案 0 :(得分:0)

Intent widgetIntent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER).setComponent(new ComponentName("grell.com", "grell.com.FavStations"));  
widgetIntent.putExtra("stationName", stations[position].StationName);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, widgetIntent, 0);    
updateViews.setOnClickPendingIntent(R.id.widget_main, pendingIntent);

检查上述代码是否适合您。