아래에서 받은 gcm을 데이터베이스에 저장하게 해뒀는데 화면이 꺼져있으면 받은 데이터가 저장되지도않고 사라지는데 어떻게 하면 좋을까요??
private void processIntent(Intent intent) {
acquireCpuWakeLock(this);
String from = intent.getStringExtra("from");
if (from == null) {
Log.d("TAG", "from is null.");
return;
}
i++;
if(i>10) i=1;
String command = intent.getStringExtra("command");
String type = intent.getStringExtra("type");
String data = intent.getStringExtra("data");
database.execSQL( "delete from MEMO where id = "+ i);
database.execSQL( "insert into MEMO(id, contents) values ('"+i+"', '"+data+"');" );
database.execSQL( "delete from CUSTOMER_INFO where id = '1'");
database.execSQL( "insert into CUSTOMER_INFO(id, name) values ('1', '"+i+"');" );
Cursor cursor;
String ls_sql;
ls_sql = " select * from MEMO";
cursor = database.rawQuery(ls_sql);
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
if (cursor.getInt(1)>=0)
alldata += cursor.getString(2) + "\n";
} while (cursor.moveToNext());
}
}
cursor.close();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(data.substring(3,6));
builder.setMessage(data);
builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
final AlertDialog dialog = builder.show();
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
try{
Thread.sleep(1000);
dialog.cancel();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
thread1.start();
final String setdata=alldata;
messageOutput.setText(setdata);
alldata = "";
/*Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
try{
Thread.sleep(1000);
releaseCpuLock();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
thread1.start();
*/
}