Страница 1 из 1

Сбор информации о сетевых событиях

Добавлено: 14 ноя 2014, 18:56
CyberShoT
Добрый день!
Мне нужно собрать статистику по сетевым событиям(звонки, смс, трафик)
Т. е. надо чтобы приложение либо находило готовую статистику(если такая хранится) либо собирала ее сама и помещала в таблицы SQLite
Это необходимо для моего дипломного проекта.
Пожалуйста, подскажите как это сделать

Re: Сбор информации о сетевых событиях

Добавлено: 24 ноя 2014, 19:14
CyberShoT
Что, совсем никто не знает?

Re: Сбор информации о сетевых событиях

Добавлено: 24 ноя 2014, 19:55
Foenix
знают. Но заняты.

Re: Сбор информации о сетевых событиях

Добавлено: 24 ноя 2014, 23:11
kasperdun

Код: Выделить всё

Uri allCalls = Uri.parse("content://call_log/calls");
    	final String[] projection = new String[] { "_id", "name", "normalized_number", "type", "date","duration"};
    	Cursor cursor = getContentResolver().query(allCalls, projection, null, null, null);
    	cursor.moveToFirst();
    	ArrayList<Call> calls = new ArrayList<Call>();
    	do{
    		Call call = new Call();
	    	   
    		call.Call_Id = cursor.getInt(cursor.getColumnIndex("_id"));
    		call.Name = cursor.getString(cursor.getColumnIndex("name"));
    		call.Number = cursor.getString(cursor.getColumnIndex("normalized_number"));
    		call.Date = new Date(Long.parseLong(cursor.getString(cursor.getColumnIndex("date")))).toGMTString();
    		call.Duration = cursor.getInt(cursor.getColumnIndex("duration"));
    		call.Type = cursor.getInt(cursor.getColumnIndex("type"));
    	    calls.add(call);
    	}while(cursor.moveToNext());
    	cursor.close();
Вот кусок из реального приложения, тут мы получаем все сохраненные на телефоне звонки.
Для смс сообщений нужно заменить "content://call_log/calls" на:
"content://sms/inbox" - входящие
"content://sms/sent" - отправленные

Названия столбцов разумеется будут другими, но это легко найти в интернете хотя-бы просто вбив в гугле "content://sms/inbox"
и те которые хотите получить, вписываете в переменной projection.