Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Android Servis sms bilgilerini alma
#1
Merhaba;
Nacizane bir sorum olacaktı
Normal bir android uygulamasında aşağıdaki fonksiyon ile telefon sms bilgilerini alabiliyorum 
fakat bu fonksiyonu uygulamaya dahil ettiğim android local servis içinde kullandığımda uygulama kitleniyor (gerekli izinleri true yapıyorum)

uses Androidapi.JNI.Net,  Androidapi.JNI.JavaTypes,  Androidapi.JNI.Telephony,
...........
function ReadSMSInbox: tstringlist;
var
 cursor: JCursor;
 uri: Jnet_Uri;
 address,person,msgdatesent,protocol,msgread,msgstatus,msgtype,
 msgreplypathpresent,subject,body,
 servicecenter,locked:string;
 msgunixtimestampms:int64;

begin
 Result := TStringList.Create;

 uri:=StrToJURI('content://sms/inbox');

cursor := SharedActivity.getContentResolver.query(uri, nil, nil,nil,nil);

 while (cursor.moveToNext) do begin
   address:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('address'))));
   person:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('person'))));
   msgunixtimestampms:=cursor.getLong(cursor.getColumnIndex(StringToJstring('date')));
   msgdatesent:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('date_sent'))));
   protocol:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('protocol'))));
   msgread:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('read'))));
   msgstatus:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('status'))));
   msgtype:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('type'))));
   msgreplypathpresent:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('reply_path_present'))));
   subject:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('subject'))));
   body:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('body'))));
   servicecenter:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('service_center'))));
   locked:=JStringToString(cursor.getString(cursor.getColumnIndex(StringToJstring('locked'))));
   Result.add(IntToStr(trunc(msgunixtimestampms/1000))+' '+address+' '+body);  

 end;
end;



android serviste fonksiyonun kullanıldığı yer

function TDM.AndroidServiceStartCommand(const Sender: TObject;
 const Intent: JIntent; Flags, StartId: Integer): Integer;
var
mesajlar:tstringlist;
begin
Result := TJService.JavaClass.START_STICKY;
mesajlar:= TStringList.Create; 
mesajlar:=  ReadSMSInbox();
end;



fonksiyon içinde kilitleyen, problem çıkaran bölüm burası 

 cursor := SharedActivity.getContentResolver.query(uri, nil, nil,nil,nil);

çünkü android servis build sırasında aşağıdaki uyarı mesajı geliyor 
[DCC Warning] s2u.pas(55): W1000 Symbol 'SharedActivity' is deprecated: 'Use TAndroidHelper.Activity' 
 Mesaja göre SharedActivity yerine TAndroidHelper.Activity yazıyorum aşağıdaki gibi

 cursor := TAndroidHelper.Activity.getContentResolver.query(uri, nil, nil,nil,nil);

fakat uygulama yine kitleniyor bir şey değişmiyor.

benzer kodlar olan ve SharedActivity.getContentResolver.query(uri, nil, nil,nil,nil); kodunu kullanan
rehber okuma, araya kaydı okuma fonksiyonlarında da aynı kilitlenme problemi oluyor(normal uygulamada çalışıyor)

internette arama yapmama rağmen bu konuda bir çözüm bulamadım. kaynak çok az

acaba problemin nedeni ve çözümü ne olabilir ?
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  android media player arsl01 2 46 2 saat önce
Son Yorum: arsl01
  [Ödüllü Soru] FMX Android projede ekranın sürekli açık bırakılması Abdullah ILGAZ 1 55 17-07-2018, Saat: 12:14
Son Yorum: Cyber
  Android APİ sorunu - Google Play BY-HAYALET 18 579 09-07-2018, Saat: 09:47
Son Yorum: quiet1day
  Android Cihaz İçin Form Tasarlama hi_selamlar 4 130 27-06-2018, Saat: 12:28
Son Yorum: hi_selamlar
  Android Ayar Degistirme gonulali 0 78 12-06-2018, Saat: 11:25
Son Yorum: gonulali



Konuyu Okuyanlar: 1 Ziyaretçi