Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

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
  Çekilen resmi dosya yolunu alma? apachi2006 2 32 41 dakika önce
Son Yorum: apachi2006
Information Java İle Android Program Tetikleme hyperxman 6 144 18-02-2018, Saat: 17:35
Son Yorum: hyperxman
  Delphi Android Java Tetikleyici hyperxman 0 69 15-02-2018, Saat: 01:06
Son Yorum: hyperxman
  FMX Servis Kalıcı Olarak Çalıştırma hyperxman 0 106 08-02-2018, Saat: 23:32
Son Yorum: hyperxman
Exclamation Android Servis Hk. hyperxman 4 133 05-02-2018, Saat: 09:56
Son Yorum: hyperxman



Konuyu Okuyanlar: 1 Ziyaretçi