Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
21.01.2015, 18:52     Как в listview можно записать историю вызовов #1
Пишу Dialer, осталось одна проблема ума не приложу как получить список исходящих, входящих и пропущенных звонков, и запихнуть его в список.
P.S. список лежит на фрагменте.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 20:00     Как в listview можно записать историю вызовов #2
http://stackoverflow.com/questions/7...ogrammatically
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
21.01.2015, 20:33  [ТС]     Как в listview можно записать историю вызовов #3
у меня не работает ни один
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 20:39     Как в listview можно записать историю вызовов #4
Лечу геморрой по космической связи
Gabberr
 Аватар для Gabberr
101 / 101 / 17
Регистрация: 13.10.2009
Сообщений: 402
22.01.2015, 11:21     Как в listview можно записать историю вызовов #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>
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
22.01.2015, 12:27  [ТС]     Как в listview можно записать историю вызовов #6
я пробовал это
приложение вылетает
Gabberr
 Аватар для Gabberr
101 / 101 / 17
Регистрация: 13.10.2009
Сообщений: 402
22.01.2015, 12:28     Как в listview можно записать историю вызовов #7
логи в студию
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
22.01.2015, 12:46  [ТС]     Как в listview можно записать историю вызовов #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'
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
22.01.2015, 15:33     Как в listview можно записать историю вызовов #9
ScreenOne это ваш класс? в 235 строке видимо null, что там?
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
22.01.2015, 15:47  [ТС]     Как в listview можно записать историю вызовов #10
да, это класс фрагмента
325 строка это сама фукция private void getCallDetails()
Gabberr
 Аватар для Gabberr
101 / 101 / 17
Регистрация: 13.10.2009
Сообщений: 402
22.01.2015, 15:51     Как в listview можно записать историю вызовов #11
Создайте отдельный проект с тем кодом, что я дал и проверьте.
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
22.01.2015, 16:00  [ТС]     Как в listview можно записать историю вызовов #12
эм, создал новый проект и приложение вылетает
у меня есть вариант, что это из - за managedQuery, она вроде как устарела, я меняю ее на context.getContentResolver().query
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
22.01.2015, 17:08     Как в listview можно записать историю вызовов #13
Продебажьте пошагово каждый метод в Debug, по логам только сам гугл может понять проблему.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2015, 18:37     Как в listview можно записать историю вызовов
Еще ссылки по теме:

Скроллинг ViewPager-а как у ListView Android
Как перевернуть ListView? Android
Вызов onDestroy() без вызовов onPause() и onStop() Android
Android Мониторинг системных вызовов
Можно ли обработать два ListView в пределах одного activity на android? Android

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

Или воспользуйтесь поиском по форуму:
HiggsMan
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 9
22.01.2015, 18:37  [ТС]     Как в listview можно записать историю вызовов #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);
    }
Yandex
Объявления
22.01.2015, 18:37     Как в listview можно записать историю вызовов
Ответ Создать тему
Опции темы

Текущее время: 15:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru