با سلام و عرض ادب.من در برنامه نویسی و در اندروید تازه کار هستم و یک سوال داشتم.
من در برنامه ام بخشی دارم که کاربر ، توسط این بخش در داخل پایگاه داده شماره ذخیره می کند.
مانند تصویر زیر:
0UpMt.png
من می خوام وقتی اس ام اس دریافت می کنم ، وقتی شماره اس ام اس دریافتی برابر با این شماره ها بود آنها را گرفته و لیست کنم.
چه طور می شه این کارو انجام داد.
کلاس دیتابیس من :
public class DatabaseHelper1 extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "PhoneNumber.db";
public static final String TABLE_NAME = "number_table";
public static final String COL_1 = "ID";
public static final String COL_2 = "NUMBER";
public DatabaseHelper1(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("Create table " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT,NUMBER INTEGER)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
onCreate(db);
}
public boolean insertData(String number){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2,number);
long result = db.insert(TABLE_NAME, null, contentValues);
if(result == -1)
return false;
else
return true;
}
}
کلاس دریافت کننده پیامک من :
[JAVA]public class ReceiveMessage extends BroadcastReceiver {
final SmsManager mysms = SmsManager.getDefault();
DatabaseHelper1 db;
@Override
public void onReceive(Context context, Intent intent) {
db=new DatabaseHelper1(context);
Bundle mybundel = intent.getExtras();
try {
if (mybundel != null) {
final Object[] messageContent = (Object[]) mybundel.get("pdus");
String smsMessageStr = "";
for (int i = 0; i < messageContent.length; i++) {
SmsMessage mynewsms = SmsMessage.createFromPdu((byte[]) messageContent[i]);
NewMessageNotification nome = new NewMessageNotification();
nome.notify(context, mynewsms.getDisplayOriginatingAddress(), mynewsms.getDisplayMessageBody(), i);
i++;
String smsBody = mynewsms.getMessageBody().toString();
String address = mynewsms.getOriginatingAddress();
smsMessageStr += "ارسال کننده: " + address + "\n";
smsMessageStr += smsBody + "\n";
Toast.makeText(context, smsMessageStr, Toast.LENGTH_SHORT).show();
//this will update the UI with message
SmsInbox inst = SmsInbox.instance();
inst.updateList(smsMessageStr);
}
}
}
catch (Exception ex){
}
}
ممنون از پاسخگوییتون
یه سوال دیگه ام داشتم.من دارم روی اندروید 23 برنامه میسازم چه جوری میشه sdk Version رو تغییر داد.مرسی