SmsReceiver로 문자를 가로채서 SQLite에 넣고 거기서 특정단어를 찾으면 카운트 하는 어플을 만드려고 하는데
Receiver 클래스에 DbOpenHelper만 넣으면 에러가 나네요...
해결 방법이 있을까요??
아니면 다른 방법을 써야 하는 걸까요???
public class SmsReceiver extends BroadcastReceiver{
DbOpenHelper mDbOpenHelper;
String number, subject, smsdate;
@Override
public void onReceive(Context context, Intent intent){
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
mDbOpenHelper = new DbOpenHelper(context);
if(bundle != null){
Object[] pdus = (Object[])bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
str += "SMS from " + msgs[i].getDisplayOriginatingAddress();
str += " : ";
str += msgs[i].getMessageBody().toString();
str += "\n";
SimpleDateFormat sdFormat = new SimpleDateFormat("HH : mm : ss");
Date sDate = new Date(msgs[i].getTimestampMillis());
number = msgs[i].getDisplayOriginatingAddress();
subject = msgs[i].getMessageBody().toString();
smsdate = sdFormat.format(sDate);
mDbOpenHelper.insertColumn(number, subject, smsdate);
}
}
}
}