Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
#1

Как в listview можно записать историю вызовов

21.01.2015, 18:52. Просмотров 499. Ответов 13
Метки нет (Все метки)

Пишу Dialer, осталось одна проблема ума не приложу как получить список исходящих, входящих и пропущенных звонков, и запихнуть его в список.
P.S. список лежит на фрагменте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2015, 18:52
Ответы с готовыми решениями:

Как распарсить страницу и записать данные в ListView?
Добрый день , Киборги! Прошлая тема ,созданная мною в данном разделе ,...

ListView - записать отмеченные чекбоксами строки в массив
Добрый день! Никак не могу записать отмеченные строки в массив. Хочу сделать...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton?
Добрый день. Затрудняюсь понять один момент: У меня есть ListView,...

Можно ли обработать два ListView в пределах одного activity на android?
Делаю небольшое приложение, которое показывает несколько ListView через...

Как записать историю посещённых сайтов на уровне роутера
Добрый день форумчане, ага. Назрел такой вопрос, есть ли возможность записывать...

13
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 20:00 #2
http://stackoverflow.com/questions/7...ogrammatically
0
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
21.01.2015, 20:33  [ТС] #3
у меня не работает ни один
0
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 20:39 #4
Лечу геморрой по космической связи
0
Gabberr
103 / 103 / 19
Регистрация: 13.10.2009
Сообщений: 404
22.01.2015, 11:21 #5
MainActivity
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
public class MainActivity extends Activity {
    TextView textView = null;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = (TextView) findViewById(R.id.textview_call);
        getCallDetails();
    }
 
    private void getCallDetails() {
 
        StringBuffer sb = new StringBuffer();
        Cursor managedCursor = managedQuery(CallLog.Calls.CONTENT_URI, null,
                null, null, null);
        int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);
        int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE);
        int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);
        int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);
        sb.append("Call Log :");
        while (managedCursor.moveToNext()) {
            String phNumber = managedCursor.getString(number);
            String callType = managedCursor.getString(type);
            String callDate = managedCursor.getString(date);
            Date callDayTime = new Date(Long.valueOf(callDate));
            String callDuration = managedCursor.getString(duration);
            String dir = null;
            int dircode = Integer.parseInt(callType);
            switch (dircode) {
                case CallLog.Calls.OUTGOING_TYPE:
                    dir = "OUTGOING";
                    break;
 
                case CallLog.Calls.INCOMING_TYPE:
                    dir = "INCOMING";
                    break;
 
                case CallLog.Calls.MISSED_TYPE:
                    dir = "MISSED";
                    break;
            }
            sb.append("\nPhone Number:--- " + phNumber + " \nCall Type:--- "
                    + dir + " \nCall Date:--- " + callDayTime
                    + " \nCall duration in sec :--- " + callDuration);
            sb.append("\n----------------------------------");
        }
        //managedCursor.close();
        textView.setText(sb);
    }
 
}


в манифесте
XML
1
  <uses-permission android:name="android.permission.READ_CALL_LOG"/>
activity_main.xml
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
 
    <ScrollView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
 
        <TextView
            android:id="@+id/textview_call"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true" />
    </ScrollView>
 
</RelativeLayout>
0
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
22.01.2015, 12:27  [ТС] #6
я пробовал это
приложение вылетает
0
Gabberr
103 / 103 / 19
Регистрация: 13.10.2009
Сообщений: 404
22.01.2015, 12:28 #7
логи в студию
0
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
22.01.2015, 12:46  [ТС] #8
Кликните здесь для просмотра всего текста

android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
01-22 09:38:30.793: E/AndroidRuntime(1154): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
01-22 09:38:30.793: E/AndroidRuntime(1154): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
01-22 09:38:30.793: E/AndroidRuntime(1154): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
01-22 09:38:30.793: E/AndroidRuntime(1154): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
01-22 09:38:30.793: E/AndroidRuntime(1154): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
01-22 09:38:30.793: E/AndroidRuntime(1154): at android.app.Activity.performStart(Activity.java:5143)
01-22 09:38:30.793: E/AndroidRuntime(1154): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
01-22 09:38:30.793: E/AndroidRuntime(1154): ... 11 more
01-22 09:38:32.209: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:38:37.209: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:38:42.213: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:38:47.213: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:38:52.213: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:38:57.217: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:02.217: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:07.217: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:12.217: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:17.221: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:22.221: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:27.221: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:32.221: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:37.225: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:42.225: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:47.225: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:52.229: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:39:57.229: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:02.229: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:07.229: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:12.233: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:17.233: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:22.237: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:27.237: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:32.237: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:37.241: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:42.241: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:47.245: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:52.245: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:40:57.249: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:02.249: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:07.249: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:12.253: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:17.253: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:22.253: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:27.257: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:31.965: E/jdwp(1196): Failed sending reply to debugger: Broken pipe
01-22 09:41:32.253: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:32.961: E/AndroidRuntime(1196): FATAL EXCEPTION: main
01-22 09:41:32.961: E/AndroidRuntime(1196): java.lang.RuntimeException: Unable to start activity ComponentInfo{creative_garret.material_dialer/creative_garret.material_dialer.MainActivity}: java.lang.NullPointerException
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.app.ActivityThread.access$600(ActivityThread.java:141)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.os.Handler.dispatchMessage(Handler.java:99)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.os.Looper.loop(Looper.java:137)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.app.ActivityThread.main(ActivityThread.java:5103)
01-22 09:41:32.961: E/AndroidRuntime(1196): at java.lang.reflect.Method.invokeNative(Native Method)
01-22 09:41:32.961: E/AndroidRuntime(1196): at java.lang.reflect.Method.invoke(Method.java:525)
01-22 09:41:32.961: E/AndroidRuntime(1196): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
01-22 09:41:32.961: E/AndroidRuntime(1196): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
01-22 09:41:32.961: E/AndroidRuntime(1196): at dalvik.system.NativeStart.main(Native Method)
01-22 09:41:32.961: E/AndroidRuntime(1196): Caused by: java.lang.NullPointerException
01-22 09:41:32.961: E/AndroidRuntime(1196): at creative_garret.material_dialer.fragments.ScreenOne.getCallDetails(ScreenOne.java:235)
01-22 09:41:32.961: E/AndroidRuntime(1196): at creative_garret.material_dialer.fragments.ScreenOne.onCreateView(ScreenOne.java:227)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.app.Activity.performStart(Activity.java:5143)
01-22 09:41:32.961: E/AndroidRuntime(1196): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
01-22 09:41:32.961: E/AndroidRuntime(1196): ... 11 more
01-22 09:41:37.257: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:42.261: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:47.261: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:52.261: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:41:57.265: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:02.265: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:07.265: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:12.265: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:17.269: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:22.269: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:27.269: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:32.273: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:37.273: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:42.273: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:47.273: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:52.277: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:42:57.285: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:43:02.285: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:43:07.285: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:43:12.285: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:43:17.285: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:43:22.289: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:43:27.293: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
01-22 09:43:32.293: E/Genymotion(386): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
22.01.2015, 15:33 #9
ScreenOne это ваш класс? в 235 строке видимо null, что там?
0
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
22.01.2015, 15:47  [ТС] #10
да, это класс фрагмента
325 строка это сама фукция private void getCallDetails()
0
Gabberr
103 / 103 / 19
Регистрация: 13.10.2009
Сообщений: 404
22.01.2015, 15:51 #11
Создайте отдельный проект с тем кодом, что я дал и проверьте.
0
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
22.01.2015, 16:00  [ТС] #12
эм, создал новый проект и приложение вылетает
у меня есть вариант, что это из - за managedQuery, она вроде как устарела, я меняю ее на context.getContentResolver().query
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
22.01.2015, 17:08 #13
Продебажьте пошагово каждый метод в Debug, по логам только сам гугл может понять проблему.
0
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
22.01.2015, 18:37  [ТС] #14
эм, я вообщем нашел рабочий пример, но я не знаю как прикрутить его к фпагменту
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class CallLogActivity extends ListActivity {
 
 
    @Override
    protected void onCreate(Bundle arg0) {
        super.onCreate(arg0);
        setContentView(R.layout.screen_first);
        Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI,
                null, null, null, CallLog.Calls.DEFAULT_SORT_ORDER);
        startManagingCursor(cursor);
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
                android.R.layout.simple_list_item_1, cursor,
                new String[] { CallLog.Calls.NUMBER },
                new int[] { android.R.id.text1 });
        setListAdapter(adapter);
    }
0
22.01.2015, 18:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2015, 18:37

Очистить историю подключений USB-flash и историю браузера
Привет, форумчане! Подскажите, где хранится инфа об: 1. Подключенные...

Можно ли где-то посмотреть историю домена
Сегодня узнал что мой домен был зарегистрирован еще до меня) аж в далеком 2008...

Как записать данные из XML файла в ListView
Привет. у меня проблема. не могу записать(прочитать и в нужное место записать)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru