在单击事件的Andr​​oid窗口小部件单击、部件、窗口、事件

2023-09-12 03:37:51 作者:喘生@

我在android的创建部件并将其成功的作品,但现在我想用小窗口的单击事件,这样我可以从打开新的活动。

帮助我

解决方案

  @覆盖
公共无效的OnUpdate(上下文的背景下,AppWidgetManager appWidgetManager,
                     INT [] appWidgetIds){
    的for(int i = 0; I< appWidgetIds.length;我++){
        INT appWidgetId = appWidgetIds [I]

        意向意图=新的意图(背景下,TaskManagerActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(上下文,0,意图,0);

        RemoteViews意见=新RemoteViews(context.getPackageName(),R.layout.widget);
        views.setOnClickPendingIntent(R.id.widget_layout,pendingIntent);
        appWidgetManager.updateAppWidget(appWidgetId,意见);
    }
}
 

在widget.xml我有根元素的LinearLayout ID为widget_layout

 < LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
          机器人:ID =@ + ID / widget_layout
          机器人:layout_width =FILL_PARENT
          机器人:layout_height =FILL_PARENT
          机器人:paddingTop =10dip
          机器人:以下属性来=10dip
          机器人:方向=垂直>
 

I have created widget in android and it successfully works, but now I want to use on click event of widget so that I can open new activity from that.

Help me

解决方案

 @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);
    }
}

In widget.xml I have root element LinearLayout with 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">