【发布时间】:2011-07-17 21:45:36
【问题描述】:
我已经在 android 中创建了小部件并且它成功地工作了,但是现在我想在小部件的点击事件上使用,以便我可以从中打开新的活动。
帮帮我
【问题讨论】:
-
当你找到任何正确的答案时,接受它,但要打勾。
我已经在 android 中创建了小部件并且它成功地工作了,但是现在我想在小部件的点击事件上使用,以便我可以从中打开新的活动。
帮帮我
【问题讨论】:
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
for (int i = 0; i < appWidgetIds.length; i++) {
int appWidgetId = appWidgetIds[i];
Intent intent = new Intent(context, TaskManagerActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setOnClickPendingIntent(R.id.widget_layout, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
在 widget.xml 中,我有根元素 LinearLayout,ID 为 widget_layout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="10dip"
android:paddingLeft="10dip"
android:orientation="vertical">
【讨论】:
0 可能会给您带来麻烦:stackoverflow.com/a/16800592/5027971
我用过这个:
// Create an Intent to launch ExampleActivity
Intent intent = new Intent(context, Mainpage.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
remoteViews.setOnClickPendingIntent(R.id.widget, pendingIntent);
【讨论】: