Tuesday, May 1, 2012

Widget Demo Example for Android

WidgetActivity.java
package com.wig;

import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.widget.RemoteViews;

public class WidgetActivity extends AppWidgetProvider {
  @Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
        int[] appWidgetIds) {
    super.onUpdate(context, appWidgetManager, appWidgetIds);
    for(int i=0;i        int awid=appWidgetIds[i];
        Intent intent=new Intent(Intent.ACTION_VIEW, Uri.parse("http://jayeshkavathiya.blogspot.com/"));
        PendingIntent pend=PendingIntent.getActivity(context,0, intent,0);
       
        RemoteViews rv= new RemoteViews(context.getPackageName(), R.layout.main);
        rv.setOnClickPendingIntent(R.id.imageButton1, pend);
        appWidgetManager.updateAppWidget(awid, rv);
    }
  }
}





Configer.java
package com.wig;

import android.app.Activity;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RemoteViews;

public class Configer extends Activity{
    int widgetID;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.configer);
        setResult(RESULT_CANCELED);
        final Configer context = this;
        Bundle extrea=getIntent().getExtras();
        if(extrea != null){
            widgetID=extrea.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
            final AppWidgetManager widman=AppWidgetManager.getInstance(context);
            final RemoteViews rv= new RemoteViews(context.getPackageName(), R.layout.main);
           
            final EditText ed=(EditText) findViewById(R.id.editText1);
            Button b=(Button) findViewById(R.id.button1);
            b.setOnClickListener(new OnClickListener() {
               
                public void onClick(View arg0) {
                    Intent intent=new Intent(Intent.ACTION_VIEW, Uri.parse(ed.getText().toString()));
                    PendingIntent pend=PendingIntent.getActivity(context,0, intent,0);
                    rv.setOnClickPendingIntent(R.id.imageButton1, pend);
                    widman.updateAppWidget(widgetID, rv);
                   
                    Intent resultval=new Intent();
                    resultval.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetID);
                    setResult(RESULT_OK, resultval);
                    finish();
                }
            });
        }
    }
}



configer.xml


  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
   
       
   

   
   



main.xml

    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
   


widget.xml


  xmlns:android="http://schemas.android.com/apk/res/android" android:updatePeriodMillis="0" android:minHeight="72dip" android:minWidth="144dip" android:initialLayout="@layout/main" android:configure="com.wig.Configer">