title: clickable link in message android
body: <p>I'm new to android, I need your help.
  what I'm trying to display a new incoming message on alert dialog ?? and make Clickable the content "link" in the  message</p>
  
  <p>this my message activity </p>
  
  <pre><code>  public class SecureMessagesActivity extends Activity implements OnClickListener,    OnItemClickListener
   {
    public void onCreate(Bundle savedInstanceState) 
     {
        super.onCreate(savedInstanceState);
  
      setTheme( android.R.style.Theme_Light );
       setContentView(R.layout.main);
  
      /**
       * You can also register your intent filter here.
       * And here is example how to do this.
       *
       * IntentFilter filter = new IntentFilter(    "android.provider.Telephony.SMS_RECEIVED" );
       * filter.setPriority( IntentFilter.SYSTEM_HIGH_PRIORITY );
       * registerReceiver( new SmsReceiver(), filter );
      **/
  
      this.findViewById( R.id.UpdateList ).setOnClickListener( this );
     }
  
      ArrayList&lt;String&gt; smsList = new ArrayList&lt;String&gt;();
  
    public void onItemClick( AdapterView&lt;?&gt; parent, View view, int pos, long id ) 
  {
      try 
      {
          String[] splitted = smsList.get( pos ).split("\n"); 
          String sender = splitted[0];
          String encryptedData = "";
          for ( int i = 1; i &lt; splitted.length; ++i )
          {
              encryptedData += splitted[i];
          }
          String data = sender + "\n" + StringCryptor.decrypt( new String(SmsReceiver.PASSWORD), encryptedData );
          Toast.makeText( this, data, Toast.LENGTH_SHORT ).show();
       } 
      catch (Exception e) 
      {
          e.printStackTrace();
      }
      }
  
     public void onClick( View v ) 
    {
  
      ContentResolver contentResolver = getContentResolver();
      Cursor cursor = contentResolver.query( Uri.parse( "content://sms/inbox" ), null, null, null, null);
  
      int indexBody = cursor.getColumnIndex( SmsReceiver.BODY );
      int indexAddr = cursor.getColumnIndex( SmsReceiver.ADDRESS );
      //int indexCont = cursor.getColumnIndex(SmsReceiver.READ);
  
      if ( indexBody &lt; 0 || !cursor.moveToFirst() ) return;
  
      Builder builder = new AlertDialog.Builder(this); 
       builder.setTitle("Simple Alert");  
       builder.setMessage("This is simple alert box");
       builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
  
          @Override
          public void onClick(DialogInterface dialog, int which) {
              // TODO Auto-generated method stub
              dialog.dismiss();  
          }
  
       });
      smsList.clear();
  
      do
      {
          String str = "Sender: " + cursor.getString( indexAddr ) + "\n" + cursor.getString( indexBody );
          smsList.add( str );
      }
      while( cursor.moveToNext() );
  
  
      ListView smsListView = (ListView) findViewById( R.id.SMSList );
      smsListView.setAdapter( new ArrayAdapter&lt;String&gt;( this, android.R.layout.simple_list_item_1, smsList) );
      smsListView.setOnItemClickListener( this );
   }
  
   public void DisplayAlert() {
  
      AlertDialog.Builder builder = new AlertDialog.Builder(this);
       builder.setTitle("Simple Alert");  
       builder.setMessage(R.string.app_name);
       builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
  
          @Override
          public void onClick(DialogInterface dialog, int which) {
              // TODO Auto-generated method stub
              dialog.dismiss();  
  
          }
           });
       AlertDialog alert = builder.create();  
       alert.show();          
  }
  </code></pre>
  
  <p>my smsReceive.java</p>
  
  <pre><code>  public class SmsReceiver extends BroadcastReceiver 
      {
  // All available column names in SMS table
       // [_id, thread_id, address, 
  // person, date, protocol, read, 
  // status, type, reply_path_present, 
  // subject, body, service_center, 
  // locked, error_code, seen]
  
  public static final String SMS_EXTRA_NAME = "pdus";
  public static final String SMS_URI = "content://sms";
  
  public static final String ADDRESS = "address";
       public static final String PERSON = "person";
     public static final String DATE = "date";
     public static final String READ = "read";
     public static final String STATUS = "status";
     public static final String TYPE = "type";
     public static final String BODY = "body";
     public static final String SEEN = "seen";
  
     public static final int MESSAGE_TYPE_INBOX = 1;
      public static final int MESSAGE_TYPE_SENT = 2;
  
      public static final int MESSAGE_IS_NOT_READ = 0;
    public static final int MESSAGE_IS_READ = 1;
  
     public static final int MESSAGE_IS_NOT_SEEN = 0;
     public static final int MESSAGE_IS_SEEN = 1;
  
    // Change the password here or give a user possibility to change it
     public static final byte[] PASSWORD = new byte[]{ 0x20, 0x32, 0x34, 0x47, (byte) 0x84, 0x33, 0x58 };
  
   public void onReceive( Context context, Intent intent ) 
  {
      // Get SMS map from Intent
       Bundle extras = intent.getExtras();
  
      String messages = "";
  
      if ( extras != null )
      {
          // Get received SMS array
          Object[] smsExtra = (Object[]) extras.get( SMS_EXTRA_NAME );
  
          // Get ContentResolver object for pushing encrypted SMS to incoming folder
          ContentResolver contentResolver = context.getContentResolver();
  
          for ( int i = 0; i &lt; smsExtra.length; ++i )
          {
              SmsMessage sms = SmsMessage.createFromPdu((byte[])smsExtra[i]);
  
              String body = sms.getMessageBody().toString();
              String address = sms.getOriginatingAddress();
  
              messages += "SMS from " + address + " :\n";                    
              messages += body + "\n";
  
  
  
              // Here you can add any your code to work with incoming SMS
              // I added encrypting of all received SMS 
  
              putSmsToDatabase( contentResolver, sms );
          }
  
  
          // Display SMS message
        //  Toast.makeText( context, messages, Toast.LENGTH_SHORT ).show();
        }
  
  
  }
  
  private void putSmsToDatabase( ContentResolver contentResolver, SmsMessage sms )
  {
      // Create SMS row
      ContentValues values = new ContentValues();
      values.put( ADDRESS, sms.getOriginatingAddress() );
      values.put( DATE, sms.getTimestampMillis() );
      values.put( READ, MESSAGE_IS_NOT_READ );
      values.put( STATUS, sms.getStatus() );
      values.put( TYPE, MESSAGE_TYPE_INBOX );
      values.put( SEEN, MESSAGE_IS_NOT_SEEN );
      try
      {
          String encryptedPassword = StringCryptor.encrypt( new String(PASSWORD), sms.getMessageBody().toString() ); 
          values.put( BODY, encryptedPassword );
      }
      catch ( Exception e ) 
      { 
          e.printStackTrace(); 
      }
  
      // Push row into the SMS table
      contentResolver.insert( Uri.parse( SMS_URI ), values );
  }
      }
  </code></pre>