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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Galaxy7500
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 10
#1

Совершение вызова номеров (обзвон номеров) - Android

20.08.2014, 21:17. Просмотров 650. Ответов 1
Метки нет (Все метки)

Пишу программу, написал вызов номера по нажатию на кнопку. Также сделал string массив, в который занес номера.
Циклом пытаюсь сделать перебор и вызов каждого номера, но вызвается только первый в массиве, нажимаю отбой вызова, и второй номер не вызывается. Подскажите пожалуйста, что не так делаю?

MyActivity.java
Кликните здесь для просмотра всего текста

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package com.example.myapp;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
 
import android.content.Intent;
import android.net.Uri;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.content.Context;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
 
import java.lang.String;
 
 
 
 
public class MyActivity extends Activity {
 
 
 
    final Context context = this;
    private Button button;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        button = (Button) findViewById(R.id.buttonCall);
// add PhoneStateListener
        PhoneStateListener phoneListener = new PhoneStateListener();
        TelephonyManager telephonyManager = (TelephonyManager) this
                .getSystemService(Context.TELEPHONY_SERVICE);
        telephonyManager.listen(phoneListener, PhoneStateListener.LISTEN_CALL_STATE);
        // add button listener
        button.setOnClickListener(new OnClickListener() {
 
            String data[] = {"tel:0505", "tel:8282", "tel:0500"};
            String onestr;
 
            @Override
            public void onClick(View arg0) {
 
                for (int i = 0; i < data.length; i++)
                {
                    onestr = data[i];
 
                    Intent callIntent = new Intent(Intent.ACTION_CALL);
                    callIntent.setData(Uri.parse(onestr));
                    startActivity(callIntent);
                    i++;
                }
            }
        });
    }
        //monitor phone call activities
        private class PhoneCallListener extends PhoneStateListener {
            private boolean isPhoneCalling = false;
 
            String LOG_TAG = "LOGGING 123";
 
            @Override
            public void onCallStateChanged(int state, String incomingNumber) {
                if (TelephonyManager.CALL_STATE_RINGING == state) {
                    // phone ringing
                    Log.i(LOG_TAG, "RINGING, number: " + incomingNumber);
                }
 
                if (TelephonyManager.CALL_STATE_OFFHOOK == state) {
                    // active
                    Log.i(LOG_TAG, "OFFHOOK");
 
                    isPhoneCalling = true;
                }
 
                if (TelephonyManager.CALL_STATE_IDLE == state) {
                    // run when class initial and phone call ended,
                    // need detect flag from CALL_STATE_OFFHOOK
                    Log.i(LOG_TAG, "IDLE");
 
                    if (isPhoneCalling) {
 
                        Log.i(LOG_TAG, "restart app");
 
                        // restart app
                        Intent i = getBaseContext().getPackageManager()
                                .getLaunchIntentForPackage(
                                        getBaseContext().getPackageName());
                        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        startActivity(i);
 
                        isPhoneCalling = false;
                    }
 
                }
            }
        }
 
 
        @Override
        public boolean onCreateOptionsMenu (Menu menu){
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.my, menu);
            return true;
        }
 
        @Override
        public boolean onOptionsItemSelected (MenuItem item){
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
            if (id == R.id.action_settings) {
                return true;
            }
            return super.onOptionsItemSelected(item);
        }
 
 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2014, 21:17     Совершение вызова номеров (обзвон номеров)
Посмотрите здесь:

Неправильная периодичность вызова метода по таймеру Android
Пустой список после вызова adapter.notifyDataSetChanged Android
Android Совершение вызова из приложения
Разработка клиентского приложения для вызова такси Android
Android Не получается написать запрос для вызова 2 го Voprosa из базы
Android Метод вызова Activiti через ListView
Метод фрагмента onResume() перестает вызываться после вызова метода recreate() для Activity Android
Как изменится стек после вызова активити другого приложения Android
Android Блокировка входящего вызова
Android Переадресация вызова
Android Причина вызова onStop()
Android Приложение падает после вызова finish

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2027 / 1769 / 549
Регистрация: 12.05.2014
Сообщений: 6,279
Завершенные тесты: 1
21.08.2014, 09:58     Совершение вызова номеров (обзвон номеров) #2
сильно код не вникал, но вижу что там i++ особо не нужна, потому что в цикле и так есть автоинкремент
Yandex
Объявления
21.08.2014, 09:58     Совершение вызова номеров (обзвон номеров)
Ответ Создать тему
Опции темы

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