Autor Téma: Mazaní SMS v android  (Přečteno 134 krát)

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Mazaní SMS v android
« kdy: 29-03-2017, 15:15:48 »
Ahoj poradily by jste mi kde delám chybu nechce se mi smazat SMS po prijeti

Kód: [Vybrat]
function FetchSms:string;
var
  cursor: JCursor;
  uri: Jnet_Uri;
  uri_del: Jnet_Uri;
  xxx:string;
  address,person,msgdatesent,protocol,msgread,msgstatus,msgtype,
  msgreplypathpresent,subject,body,
  servicecenter,locked,smsid:string;
  msgunixtimestampms:int64;
  addressidx,personidx,msgdateidx,msgdatesentidx,protocolidx,msgreadidx,
  msgstatusidx,msgtypeidx,msgreplypathpresentidx,subjectidx,bodyidx,
  servicecenteridx,lockedidx,id_smsid:integer;
begin
  uri:=StrToJURI('content://sms/inbox');
  cursor := SharedActivity.getContentResolver.query(uri, nil, nil,nil,nil);
  id_smsid:= cursor.getColumnIndex(StringToJstring('_id'));
  addressidx:=cursor.getColumnIndex(StringToJstring('address'));
  personidx:=cursor.getColumnIndex(StringToJstring('person'));
  msgdateidx:=cursor.getColumnIndex(StringToJstring('date'));
  msgdatesentidx:=cursor.getColumnIndex(StringToJstring('date_sent'));
  protocolidx:=cursor.getColumnIndex(StringToJstring('protocol'));
  msgreadidx:=cursor.getColumnIndex(StringToJstring('read'));
  msgstatusidx:=cursor.getColumnIndex(StringToJstring('status'));
  msgtypeidx:=cursor.getColumnIndex(StringToJstring('type'));
  msgreplypathpresentidx:=cursor.getColumnIndex(StringToJstring('reply_path_present'));
  subjectidx:=cursor.getColumnIndex(StringToJstring('subject'));
  bodyidx:=cursor.getColumnIndex(StringToJstring('body'));
  servicecenteridx:=cursor.getColumnIndex(StringToJstring('service_center'));
  lockedidx:=cursor.getColumnIndex(StringToJstring('locked'));
  while (cursor.moveToNext) do begin
    smsid:=JStringToString(cursor.getString(id_smsid));
    address:=JStringToString(cursor.getString(addressidx));
    person:=JStringToString(cursor.getString(personidx));
    msgunixtimestampms:=cursor.getLong(msgdateidx);
    msgdatesent:=JStringToString(cursor.getString(msgdatesentidx));
    protocol:=JStringToString(cursor.getString(protocolidx));
    msgread:=JStringToString(cursor.getString(msgreadidx));
    msgstatus:=JStringToString(cursor.getString(msgstatusidx));
    msgtype:=JStringToString(cursor.getString(msgtypeidx));
    msgreplypathpresent:=JStringToString(cursor.getString(msgreplypathpresentidx));
    subject:=JStringToString(cursor.getString(subjectidx));
    body:=JStringToString(cursor.getString(bodyidx));
    servicecenter:=JStringToString(cursor.getString(servicecenteridx));
    locked:=JStringToString(cursor.getString(lockedidx));
    Result:=IntToStr(trunc(msgunixtimestampms/1000))+' '+address+' '+body;
    Delete(body, 1, 17);
    xxx:=body;
    if ( address=hlavni.edit1.text ) then
                      begin
                      hlavni.pridatsms(xxx,msgdatesent);
                      mapa.memo1.lines.clear;
                      mapa.memo1.Lines.Add(xxx);
                      dinfo.memo1.lines.clear;
                      dinfo.memo1.Lines.Add(xxx);
                      // Mazání zpráv prozatím nefunčkní

                      //showmessage(smsid);
                      //uri_del:= StrToJURI('content://sms/inbox');
                      SharedActivity.getContentResolver.delete(uri, StringToJString('_ID=' + smsid), nil);
                      //SharedActivity.getContentResolver.delete(uri_del, StringToJString('_ID=' + smsid), nil);
                     
                      // Mazání zpráv prozatím nefunčkní
                      end;
  end;
end;

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Kolik je šest plus čtyři (slovem):