Start activity by clicking on widget Start activity by clicking on widget android android

Start activity by clicking on widget


Use this snippet in onUpdate() method of your widget AppWidgetProvider class:

@Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {    RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widgetlayout);    Intent configIntent = new Intent(context, Activity.class);    PendingIntent configPendingIntent = PendingIntent.getActivity(context, 0, configIntent, 0);    remoteViews.setOnClickPendingIntent(R.id.widget, configPendingIntent);    appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);}     

Here widgetlayout is name of your widget layout and R.id.widget is it's parent layout id.

Edit:
Now,I see your code that you added to your question.You would to do:

PendingIntent.getActivity(context, 0, configIntent, 0);

(that start's activity) instead of

PendingIntent.getService(...);

that attempt to starts service.Good luck.

References:
doityourselfandroid.com

helloandroid.com


Intent inet = new Intent(your_action);inet.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);PendingIntent pIntentNetworkInfo = PendingIntent.getActivity(context, 2,             inet, Intent.FLAG_ACTIVITY_NEW_TASK);remoteViews.setOnClickPendingIntent(you_component_when_the_user_pressing_this_activity_should_start, pIntentNetworkInfo);


I don't know about "Creating widget from another widget". This is out of my knowledge but I suggest you to build your own widget.

Apart from that, calling activity from widget should be using PendingIntent

Here is simple example to do it

Intent iSetting = new Intent(this, MyConfig.class);PendingIntent piSetting = PendingIntent.getActivity(this, 0, iSetting, 0);views.setOnClickPendingIntent(R.id.IdComponent, piSetting);

Or you might need to see this link and this link