07-09-2018, Saat: 09:53
konu güncel...
gelen arama listesini alma
|
07-09-2018, Saat: 10:22
Cevaplar da güncel
Yukarıda verilen linklere baktınız mı Delphi için örnek kod istemişsiniz ama verilen linke örnek kod var Kodları deneyip de sorun yaşadı iseniz onu belirtin, ona göre ilerleyelim
There's no place like 127.0.0.1
07-09-2018, Saat: 12:46
@SimaWB sağolsun durumu güzel özetledi.
- DelphiCanlar için başlığı okuyacak / meraklı diğer kullanıcılar için kendi arşivimden bir kod içerisinden sadeleştirerek kod örneği hazırladım. Göreceksiniz ki verdiğim StackOverflow linkindeki kodlar ile çok benzer. - Neden hazır kod veriyorum, çünkü Android erişim kodlarının çok fazla esnekliği yok. Yani özel zeka isteyen (strateji üretmek manasında) bir çaba gerekmiyor. Uses Androidapi.JNI.Net, Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers, Androidapi.JNI.Provider, FMX.Helpers.Android; // READ_CALL_LOG için Permission : TRUE olmalı function AramaKayitlari( iSonCagriSay: Integer = 99999 ):string; Type tIcerikIndexleri = Record CACHED_FORMATTED_NUMBER, CACHED_LOOKUP_URI, CACHED_MATCHED_NUMBER, CACHED_NAME, CACHED_NORMALIZED_NUMBER, CACHED_NUMBER_LABEL, CACHED_NUMBER_TYPE, CACHED_PHOTO_ID, CONTENT_ITEM_TYPE, CONTENT_TYPE, COUNTRY_ISO, DATA_USAGE, DATE, DEFAULT_SORT_ORDER, DURATION, EXTRA_CALL_TYPE_FILTER, FEATURES, IS_READ, LIMIT_PARAM_KEY, NEW, NUMBER, NUMBER_PRESENTATION, OFFSET_PARAM_KEY, PHONE_ACCOUNT_COMPONENT_NAME, PHONE_ACCOUNT_ID, TRANSCRIPTION, VOICEMAIL_URI, TYPEX : integer; end; pIcerikIndexleri = ^tIcerikIndexleri; var Cursor : Androidapi.JNI.GraphicsContentViewText.JCursor; Uri : Androidapi.JNI.Net.Jnet_Uri; BaslangicIdx : pIcerikIndexleri; strNo, strType, strName, strDuration : String; begin Uri := Androidapi.Helpers.StrToJURI('content://call_log/calls'); Cursor := Androidapi.Helpers.SharedActivity.getContentResolver.query(uri, nil, nil, nil, nil); // Milat olarak belirlenen New(BaslangicIdx); BaslangicIdx.CACHED_FORMATTED_NUMBER := cursor.getColumnIndex(StringToJstring('CACHED_FORMATTED_NUMBER')); BaslangicIdx.CACHED_LOOKUP_URI := cursor.getColumnIndex(StringToJstring('CACHED_LOOKUP_URI')); BaslangicIdx.CACHED_MATCHED_NUMBER := cursor.getColumnIndex(StringToJstring('CACHED_MATCHED_NUMBER')); BaslangicIdx.CACHED_NAME := cursor.getColumnIndex(StringToJstring('CACHED_NAME')); BaslangicIdx.CACHED_NORMALIZED_NUMBER := cursor.getColumnIndex(StringToJstring('CACHED_NORMALIZED_NUMBER')); BaslangicIdx.CACHED_NUMBER_LABEL := cursor.getColumnIndex(StringToJstring('CACHED_NUMBER_LABEL')); BaslangicIdx.CACHED_NUMBER_TYPE := cursor.getColumnIndex(StringToJstring('CACHED_NUMBER_TYPE')); BaslangicIdx.CACHED_PHOTO_ID := cursor.getColumnIndex(StringToJstring('CACHED_PHOTO_ID')); BaslangicIdx.CONTENT_ITEM_TYPE := cursor.getColumnIndex(StringToJstring('CONTENT_ITEM_TYPE')); BaslangicIdx.CONTENT_TYPE := cursor.getColumnIndex(StringToJstring('CONTENT_TYPE')); BaslangicIdx.COUNTRY_ISO := cursor.getColumnIndex(StringToJstring('COUNTRY_ISO')); BaslangicIdx.DATA_USAGE := cursor.getColumnIndex(StringToJstring('DATA_USAGE')); BaslangicIdx.DATE := cursor.getColumnIndex(StringToJstring('DATE')); BaslangicIdx.DEFAULT_SORT_ORDER := cursor.getColumnIndex(StringToJstring('DEFAULT_SORT_ORDER')); BaslangicIdx.DURATION := cursor.getColumnIndex(StringToJstring('DURATION')); BaslangicIdx.EXTRA_CALL_TYPE_FILTER := cursor.getColumnIndex(StringToJstring('EXTRA_CALL_TYPE_FILTER')); BaslangicIdx.FEATURES := cursor.getColumnIndex(StringToJstring('FEATURES')); BaslangicIdx.IS_READ := cursor.getColumnIndex(StringToJstring('IS_READ')); BaslangicIdx.LIMIT_PARAM_KEY := cursor.getColumnIndex(StringToJstring('LIMIT_PARAM_KEY')); BaslangicIdx.NEW := cursor.getColumnIndex(StringToJstring('NEW')); BaslangicIdx.NUMBER := cursor.getColumnIndex(StringToJstring('NUMBER')); BaslangicIdx.NUMBER_PRESENTATION := cursor.getColumnIndex(StringToJstring('NUMBER_PRESENTATION')); BaslangicIdx.OFFSET_PARAM_KEY := cursor.getColumnIndex(StringToJstring('OFFSET_PARAM_KEY')); BaslangicIdx.PHONE_ACCOUNT_COMPONENT_NAME := cursor.getColumnIndex(StringToJstring('PHONE_ACCOUNT_COMPONENT_NAME')); BaslangicIdx.PHONE_ACCOUNT_ID := cursor.getColumnIndex(StringToJstring('PHONE_ACCOUNT_ID')); BaslangicIdx.NUMBER_PRESENTATION := cursor.getColumnIndex(StringToJstring('NUMBER_PRESENTATION')); BaslangicIdx.TRANSCRIPTION := cursor.getColumnIndex(StringToJstring('TRANSCRIPTION')); BaslangicIdx.TYPEX := cursor.getColumnIndex(StringToJstring('TYPE')); while ( cursor.moveToNext ) and ( iSonCagriSay > 0 ) do begin strNo := Trim( JStringToString(cursor.getString(BaslangicIdx.NUMBER)) ); strType := Trim( JStringToString(cursor.getString(BaslangicIdx.TYPEX) ) ); strName := ''; if BaslangicIdx.CACHED_NAME <> -1 then strName := Trim( JStringToString(cursor.getString(BaslangicIdx.CACHED_NAME)) ); strDuration := ''; if BaslangicIdx.DURATION <> -1 then strDuration := Trim( JStringToString(cursor.getString(BaslangicIdx.DURATION)) ); case StrToInt(strType) of 1 : strType := 'GELEN No'; 2 : strType := 'ARANAN No'; 3 : strType := 'CEVAPSIZ '; 5 : strType := 'RED Edil.'; end; Result := Result + #13#10 + Format('%s:%s %s (Süre:%s sn.)', [ strType, strName, strNo, strDuration]); Dec(iSonCagriSay); end; Dispose(BaslangicIdx); end; Kullanımı : ( Sayı vermezseniz tüm çağrılar gelir ) procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Add( AramaKayitlari( 5 ) ); // Rakam vermezseniz otomatik 99999 olacağından tüm kayıtlar gelir... end;
Saygılarımla
Muharrem ARMAN |
« Önceki Konu | Sonraki Konu »
|
Konu ile Alakalı Benzer Konular | |||||
Konular | Yazar | Yorumlar | Okunma | Son Yorum | |
Android WiFi network ismini alma | 41linea41 | 4 | 579 |
02-10-2023, Saat: 11:57 Son Yorum: 41linea41 |
|
Webden veri alma | Husv | 3 | 1.088 |
23-12-2022, Saat: 00:59 Son Yorum: Husv |
|
Android Gelen Çağrı Durumunu Yakalamak | emrahozten | 7 | 2.396 |
07-11-2022, Saat: 23:54 Son Yorum: engerex |
|
Tanımsız alandan veri alma | Altıner | 4 | 829 |
14-10-2022, Saat: 09:09 Son Yorum: Altıner |
|
Divden veri alma | Altıner | 9 | 1.982 |
01-10-2022, Saat: 06:44 Son Yorum: mrmarman |