2013-10-15 27 views
0

攔截短信我想攔截的短信,這個數字保存在SQLite數據庫使用SQLite

我的代碼:

public class SMS extends Activity {private static final String DBNAME = "SMS"; 
private static final String TABLENAME = "LIST"; 
private static final String FIELD01_NAME = "_id"; 
private static final String FIELD02_NAME = "_text1"; 
private SQLiteDatabase db; 
private Cursor myCursor; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
db = this.openOrCreateDatabase(DBNAME, MODE_APPEND, null); 
String CREATE_SQL = "Create table if not exists " + 
    TABLENAME + " (" + FIELD01_NAME + 
    " integer primary key autoincrement, " + 
    FIELD02_NAME + " varchar not null);"; 
db.execSQL(CREATE_SQL); 
myCursor = db.query(TABLENAME, 
     null, null, null, null, null, null);} 
private BroadcastReceiver mBroadcast = new BroadcastReceiver() { 
@Override 
    public void onReceive(Context context, Intent intent) { 
     if (intent.getAction() 
       .equals("android.provider.Telephony.SMS_RECEIVED")) { 
     this.abortBroadcast(); 
     StringBuffer sb = new StringBuffer(); 
     String sender = null; 
     String content = null; 
     String sendtime = null; 
     Bundle bundle = intent.getExtras(); 
     if (bundle != null) { 
      Object[] pdus = (Object[]) bundle.get("pdus"); 
      SmsMessage[] mges = new SmsMessage[pdus.length]; 
      for (int i = 0; i < pdus.length; i++) { 
       mges[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); 
      } 
      for (SmsMessage mge : mges) { 
       sb.append("From:" + mge.getDisplayOriginatingAddress() 
         + "\n"); 
       sb.append("body:" + mge.getMessageBody()); 
       sender = mge.getDisplayOriginatingAddress(); 
       content = mge.getMessageBody(); 
       Date date = new Date(mge.getTimestampMillis()); 
       SimpleDateFormat format = new SimpleDateFormat(
         "yyyy-MM-dd HH:mm:ss"); 
       sendtime = format.format(date); 
       if (sender.equals(myCursor)) { 
       abortBroadcast(); 
      } 
      }     Toast.makeText(context, sb.toString(), Toast.LENGTH_LONG) 
        .show();  } 
    } 
} 
}; 
} 

我運行它,它不工作〜 我不不知道我做錯了什麼,誰能給我正確的代碼? 我的db是短信,表名LIST .. _text1是數字..

回答

0

您是否成功創建了表?我認爲表創建語句在字段之間有不必要的空間。

+0

表成功創建 –

+0

很棒!!! ............ –