Thursday 15 August 2013

Delphi Firemonkey Android getting call logs error -



Delphi Firemonkey Android getting call logs error -

hello code:

function fetchcalls:string; var cursor: jcursor; uri: jnet_uri; 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, typex, voicemail_uri : integer; msgunixtimestampms:int64; cached_formatted_numberx, cached_lookup_urix, cached_matched_numberx, cached_namex, cached_normalized_numberx, cached_number_labelx, cached_number_typex, cached_photo_idx, content_item_typex, content_typex, country_isox, data_usagex, datex, default_sort_orderx, durationx, extra_call_type_filterx, featuresx, is_readx, limit_param_keyx, newx, numberx, number_presentationx, offset_param_keyx, phone_account_component_namex, phone_account_idx, transcriptionx, typexx, voicemail_urix : string; begin uri:=strtojuri('content://call_log/calls'); cursor := sharedactivity.getcontentresolver.query(uri, nil, nil,nil,nil); cached_formatted_number:=cursor.getcolumnindex(stringtojstring('cached_formatted_number')); cached_lookup_uri:=cursor.getcolumnindex(stringtojstring('cached_lookup_uri')); cached_matched_number:=cursor.getcolumnindex(stringtojstring('cached_matched_number')); cached_name:=cursor.getcolumnindex(stringtojstring('cached_name')); cached_normalized_number:=cursor.getcolumnindex(stringtojstring('cached_normalized_number')); cached_number_label:=cursor.getcolumnindex(stringtojstring('cached_number_label')); cached_number_type:=cursor.getcolumnindex(stringtojstring('cached_number_type')); cached_photo_id:=cursor.getcolumnindex(stringtojstring('cached_photo_id')); content_item_type:=cursor.getcolumnindex(stringtojstring('content_item_type')); content_type:=cursor.getcolumnindex(stringtojstring('content_type')); country_iso:=cursor.getcolumnindex(stringtojstring('country_iso')); data_usage:=cursor.getcolumnindex(stringtojstring('data_usage')); date:=cursor.getcolumnindex(stringtojstring('date')); default_sort_order:=cursor.getcolumnindex(stringtojstring('default_sort_order')); duration:=cursor.getcolumnindex(stringtojstring('duration')); extra_call_type_filter:=cursor.getcolumnindex(stringtojstring('extra_call_type_filter')); features:=cursor.getcolumnindex(stringtojstring('features')); is_read:=cursor.getcolumnindex(stringtojstring('is_read')); limit_param_key:=cursor.getcolumnindex(stringtojstring('limit_param_key')); new:=cursor.getcolumnindex(stringtojstring('new')); number:=cursor.getcolumnindex(stringtojstring('number')); number_presentation:=cursor.getcolumnindex(stringtojstring('number_presentation')); offset_param_key:=cursor.getcolumnindex(stringtojstring('offset_param_key')); phone_account_component_name:=cursor.getcolumnindex(stringtojstring('phone_account_component_name')); phone_account_id:=cursor.getcolumnindex(stringtojstring('phone_account_id')); number_presentation:=cursor.getcolumnindex(stringtojstring('number_presentation')); transcription:=cursor.getcolumnindex(stringtojstring('transcription')); typex:=cursor.getcolumnindex(stringtojstring('type')); while (cursor.movetonext) begin cached_formatted_numberx:=jstringtostring(cursor.getstring(cached_formatted_number)); cached_lookup_urix:=jstringtostring(cursor.getstring(cached_lookup_uri)); cached_matched_numberx:=jstringtostring(cursor.getstring(cached_matched_number)); cached_namex:=jstringtostring(cursor.getstring(cached_name)); cached_normalized_numberx:=jstringtostring(cursor.getstring(cached_normalized_number)); cached_number_labelx:=jstringtostring(cursor.getstring(cached_number_label)); cached_number_typex:=jstringtostring(cursor.getstring(cached_number_type)); cached_photo_idx:=jstringtostring(cursor.getstring(cached_photo_id)); content_item_typex:=jstringtostring(cursor.getstring(content_item_type)); content_typex:=jstringtostring(cursor.getstring(content_type)); country_isox:=jstringtostring(cursor.getstring(country_iso)); data_usagex:=jstringtostring(cursor.getstring(data_usage)); datex:=jstringtostring(cursor.getstring(date)); default_sort_orderx:=jstringtostring(cursor.getstring(default_sort_order)); durationx:=jstringtostring(cursor.getstring(duration)); extra_call_type_filterx:=jstringtostring(cursor.getstring(extra_call_type_filter)); featuresx:=jstringtostring(cursor.getstring(features)); is_readx:=jstringtostring(cursor.getstring(is_read)); limit_param_keyx:=jstringtostring(cursor.getstring(limit_param_key)); newx:=jstringtostring(cursor.getstring(new)); numberx:=jstringtostring(cursor.getstring(number)); number_presentationx:=jstringtostring(cursor.getstring(number_presentation)); offset_param_keyx:=jstringtostring(cursor.getstring(offset_param_key)); phone_account_component_namex:=jstringtostring(cursor.getstring(phone_account_component_name)); phone_account_idx:=jstringtostring(cursor.getstring(phone_account_id)); number_presentationx:=jstringtostring(cursor.getstring(number_presentation)); transcriptionx:=jstringtostring(cursor.getstring(transcription)); typexx:=jstringtostring(cursor.getstring(typex)); result:=typexx+cached_namex+numberx; end; end;

and use... here usage method

memo1.lines.add(fetchcalls);

but when seek utilize function got error :

"java.lang.lllegalstateexception: couldn't read row 0, col -1 cursorwindow. create sure cursor initialized correctly before accessing info it.

any ideas how solve this??

thank much

android delphi firemonkey

No comments:

Post a Comment