消息发送开始日期时间

时间:2017-12-22 06:55:44

标签: android sqlite sms smsmanager

我有一个聊天应用程序,我正在向正在发送的号码发送消息。现在我希望我应该将日期时间作为输入,并且应该为该特定日期时间发送消息。我在sqlite中保存日期时间。为此我在第一个消息中的while循环中有两个asynctask成功发送。在其他AsyncTask中,我收到了所有尚未发送的消息。我的Asynctask是:

while (true) {
String[] jobsNumbers = numbers.toArray(new String[numbers.size()]);
new SendJobs().execute(jobsNumbers);
destroy = true;
cursor = databaseHelperClass.getMessagesNotSent();
if (cursor != null && cursor.moveToFirst()) {
    do {
    Id = cursor.getInt(cursor.getColumnIndex("ID"));
    jobMessageNotSent=cursor.getString(cursor.getColumnIndex("Message"));
    startDatetimecursor.getString(cursor.getColumnIndex("StartDatetime"));
    isComplete=cursor.getInt(cursor.getColumnIndex("isComplete"));
} while (cursor.moveToNext());
new SendMessages().execute(Id);
}

在这个asynctask中我得到的消息没有发送但是保存在数据库中。现在我的问题是while循环应该保持为真,消息应该只发送一次。要获取消息我的查询是

public Cursor getJobMessagesNotSent() {
    db = this.getReadableDatabase();
    String query = "select * from Jobs where isSent= 0 and 
datetime('now') > senddate";
    Cursor cursor = db.rawQuery(query, null);
    return cursor;
}

0 个答案:

没有答案