ContentValues values = new ContentValues();
                values.put("address", str_address);
                values.put("date", str_date);
                values.put("protocol", "0");
                values.put("read", str_read);
                values.put("status", "-1");
                values.put("type", "1");
                values.put("body", str_body);
                Uri uriSms = Uri.parse(strUriInbox);
                Uri retUri = cr.insert(uriSms, values);
public String strUriInbox = "content://sms/inbox";//SMS_INBOX:1

2008/12/20 <ipeg.stud...@gmail.com>

>
> my name is Suman. i can notify a incoming sms. the code is written
> belowimport android.content.BroadcastReceiver;
>
> import android.content.ContentUris;
> import android.content.ContentValues;
> import android.content.Context;
> import android.content.Intent;
> import android.os.Bundle;
> import android.telephony.gsm.SmsMessage;
> import android.util.Log;
> import android.widget.Toast;
>
>
> public class SMSReceiver1 extends BroadcastReceiver {
>     /** TAG used for Debug-Logging */
>     protected static final String LOG_TAG = "SMSReceiver";
>
>     /** The Action fired by the Android-System when a SMS was
> received.
>      * We are using the Default Package-Visibility */
>     private static final String ACTION =
> "android.provider.Telephony.SMS_RECEIVED";
>
>  // @Override
>    public void onReceive(Context context, Intent intent) {
>
>     Log.i(LOG_TAG, "[inside onReceive] ");
>
>     if (intent.getAction().equals(ACTION)) {
>
>           StringBuilder sb = new StringBuilder();
>             Bundle bundle = intent.getExtras();
>
>             if (bundle != null) {
>                 Object[] pdusObj = (Object[]) bundle.get("pdus");
>                 SmsMessage[] messages = new SmsMessage
> [pdusObj.length];
>                 for (int i = 0; i<pdusObj.length; i++) {
>                         messages[i] = SmsMessage.createFromPdu ((byte
> []) pdusObj[i]);
>
>
>                 }
>
>                 Log.i(LOG_TAG, "[SMSApp Bundle] " + bundle.toString
> ());
>
>                  // Feed the StringBuilder with all Messages found.
>                   for (SmsMessage currentMessage : messages){
>                         sb.append("Received compressed SMS\nFrom:
> ");
>                         // Sender-Number
>                         sb.append
> (currentMessage.getDisplayOriginatingAddress());
>                         String value2 =
> currentMessage.getDisplayOriginatingAddress();
>                        // String value4 = value2.toString();
>                         sb.append("\n----Message----\n");
>                         // Actual Message-Content
>                         sb.append(currentMessage.getDisplayMessageBody
> ());
>                         String value3 =
> currentMessage.getDisplayMessageBody();
>                         ContentValues contentValues = new
> ContentValues();
>                         contentValues.put
> (android.provider.Telephony.Sms.BODY,
> currentMessage.getDisplayMessageBody());
>
>                         android.net.Uri uri
> =context.getContentResolver().insert
> (android.provider.Telephony.Sms.CONTENT_URI, contentValues);
>                        // Intent myIntent = new Intent();
>                                //myIntent.setClassName("com.android.sms14",
> "com.android.sms14.SMSActivity1");
>
>  //myIntent.putExtra("com.android.HelloBye.heby",
> "Hello Joe!"); // key/value pair, where key needs current package
> prefix.
>                                //myIntent.hasExtra("('niva',
>  '"+value2+"')");
>                                //myIntent.hasExtra("('niva',
>  '"+value3+"')");
>                                //myIntent.putExtra("niva", "Sengupta");//
> key/value
> pair, where key needs current package prefix.
>                                //startActivity(myIntent);
>                         //ContentValues contentValues = new
> ContentValues();
>                       // contentValues.put
> (android.provider.Telephony.Sms.BODY,
> currentMessage.getDisplayMessageBody());
>
>                         //Uri uri =context.getContentResolver().insert
> (android.provider.Telephony.Sms.CONTENT_URI, contentValues);
>                         //sb.append(uri);
>
>                   }
>              }
>              // Logger Debug-Output
>              Log.i(LOG_TAG, "[SMSApp] onReceiveIntent: " + sb);
>
>              // Show the Notification containing the Message.
>              Toast.makeText(context, sb.toString(),
> Toast.LENGTH_LONG).show();
>
>              // Consume this intent, that no other application will
> notice it.
>              this.abortBroadcast();
>
>              // Start the Main-Activity
>
>              Intent i = new Intent(context, SMSActivity1.class);
>
>             i.setClassName("com.android.sms14",
> "com.android.sms14.SMSActivity1");
>                         i.putExtra("fname",  "suman999");
>
>                         i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
>                        context.startActivity(i);
>
>         }
>    }
>
>
> }
>
> main activity:
> import android.app.Activity;
> import android.content.Intent;
> import android.os.Bundle;
> import android.util.Log;
> import android.view.View;
> import android.widget.Button;
>
> public class SMSActivity1 extends Activity {
>
>    @Override
>    public void onCreate(Bundle savedInstanceState) {
>        super.onCreate(savedInstanceState);
>       // setContentView(R.layout.sms1);
>
>
>
>
>
>
>
>
>
>
>
>        Log.v(SMSReceiver1.LOG_TAG,"inside SMS Activity");
>    }
> }
> mainfest
> <manifest xmlns:android="http://schemas.android.com/apk/res/android";
>      package="com.android.sms14">
>    <uses-permission android:name="android.permission.RECEIVE_SMS" />
>    <application android:icon="@drawable/icon">
>        <!-- The Main Activity that gets started by the IntentReceiver
> listed below -->
>        <activity android:name=".SMSActivity1" android:label="@string/
> app_name">
>            <intent-filter>
>                <action android:name="android.intent.action.MAIN" />
>                <category
> android:name="android.intent.category.LAUNCHER" />
>            </intent-filter>
>        </activity>
>        <activity android:name=".valueandroid1" android:label="@string/
> app_name">
>
>        </activity>
>        <!-- This class will react on the SMS show a notification
>                        and start the Main-App afterwards -->
>        <receiver android:name=".SMSReceiver1">
>            <intent-filter>
>                <action
> android:name="android.provider.Telephony.SMS_RECEIVED" />
>            </intent-filter>
>        </receiver>
>    </application>
> </manifest>
> Now, i have database also.
> import java.util.ArrayList;
>
> import android.app.ListActivity;
> import android.database.Cursor;
> import android.database.sqlite.SQLiteDatabase;
> import android.os.Bundle;
> import android.widget.ArrayAdapter;
> import android.widget.EditText;
>
> public class queryandroid extends ListActivity {
>
>     private final String MY_DATABASE_NAME = "myCoolDB_2";
>     private final String MY_DATABASE_TABLE = "Users";
>
>     /** Called when the activity is first created. */
>     @Override
>     public void onCreate(Bundle icicle) {
>          super.onCreate(icicle);
>
>          EditText et = new EditText(this);
>          et.setSelection(et.getText().length());
>          /* Will hold the 'Output' we want to display at the end. */
>          ArrayList<String> results = new ArrayList<String>();
>
>          SQLiteDatabase myDB = null;
>          try {
>               /* Create the Database (no Errors if it already exists)
> */
>                  myDB = this.openOrCreateDatabase(MY_DATABASE_NAME,
> MODE_PRIVATE, null);
>
>                  //myDB.execSQL("DROP TABLE "  + MY_DATABASE_TABLE )   ;
>
>               /* Create a Table in the Database. */
>               myDB.execSQL("CREATE TABLE IF NOT EXISTS "
>                                   + MY_DATABASE_TABLE
>                                   + " (MyKey INTEGER PRIMARY KEY
> AUTOINCREMENT, MyName VARCHAR,"
>                                   + " MyAge INT(3), MyDate DATE);");
>
>               //create table t1 (t1key INTEGER  PRIMARY KEY,data
> TEXT,num double,timeEnter DATE);
>               // UPDATE exam SET timeEnter = DATETIME('NOW') WHERE
> rowid = new.rowid;
>
>               //myDB.execSQL("DELETE FROM "  +
> MY_DATABASE_TABLE )   ;
>
>               /* Add two DataSets to the Table. */
>               myDB.execSQL("INSERT INTO "
>                       + MY_DATABASE_TABLE
>                       + " (MyName, MyAge)"
>                       + " VALUES ('Nikhil Narayan', '27');");
>
>               myDB.execSQL("INSERT INTO "
>                       + MY_DATABASE_TABLE
>                       + " (MyName, MyAge)"
>                       + " VALUES ('Suman Ganguly', '22');");
>
>
>               /////////////////////////////////////////////////////////
>               //// Insert part
>
>              // String value2 = extras.getString("nikvar");
>                  // String value3 = extras.getString("niva");
>
>              // String dfname = "Debosree ";
>                   //String dlname = "Das";
>                   //int dage = 24;
>                   //String dcountry = "India";
>
>                   //myDB.execSQL("INSERT INTO "
>                 //     + MY_DATABASE_TABLE
>                   //   + " (LastName, FirstName, Country, Age)"
>                     // + " VALUES ('"+dfname+"', '"+dlname+"',
> '"+dcountry+"', "+dage+");");
>
>               //// End Insert Part
>               /////////////////////////////////////////////////////////
>
>               /* Query for some results with Selection and
> Projection. */
>               Cursor c = myDB.rawQuery("SELECT MyKey, MyName,MyAge"
> +
>                                        " FROM " + MY_DATABASE_TABLE
>                                        + " WHERE MyAge > 0 LIMIT
> 400;",
>                                        null);
>
>               /* Get the indices of the Columns we will need */
>               int MyNameColumn = c.getColumnIndexOrThrow("MyName") ;
>               int MyAgeColumn = c.getColumnIndexOrThrow("MyAge");
>
>               /* Check if our result was valid. */
>               c.moveToFirst();
>               if (c != null) {
>                    /* Check if at least one Result was returned. */
>                    if (c.isFirst()) {
>                         int i = 0;
>                         /* Loop through all Results */
>                         do {
>                              i++;
>                              /* Retrieve the values of the Entry
>                               * the Cursor is pointing to. */
>                              String fullName = c.getString
> (MyNameColumn);
>                              int age = c.getInt(MyAgeColumn);
>                              /* We can also receive the Name
>                               * of a Column by its Index.
>                               * Makes no sense, as we already
>                               * know the Name, but just to show we
> can  */
>                              String ageColumName = c.getColumnName
> (MyAgeColumn);
>                              String MyKeyVal = c.getString(0);
>
>                              /* Add current Entry to results. */
>                              results.add("" + i + ": " + fullName + "
> Key= " +MyKeyVal
>                                             + " (" + ageColumName +
> ": " + age + ")");
>                         } while(c.moveToNext());
>
>                    }
>               }
>
>          } finally {
>               if (myDB != null)
>                    myDB.close();
>          }
>
>          this.setListAdapter(new ArrayAdapter<String>(this,
>                    android.R.layout.simple_list_item_1, results));
>     }
>
>
>
>
> }
> Now my question is how can i insert the incoming messages into my
> database?  I have tried a lot. Please kindly give me the appropriate
> code to solve the problem.
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to