Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/2: Рейтинг темы: голосов - 2, средняя оценка - 4.50
Kipec
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 11
1

Передать номер из EditText в условие

22.03.2015, 20:11. Просмотров 456. Ответов 2
Метки нет (Все метки)

Всем привет! Есть приложение в котором в EditText вводим номер и осуществляем звонок. С этим все хорошо. Код ниже.
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class MainActivity extends Activity {
EditText callNumber;
Button button_zapros;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.primary);
        callNumber = (EditText) findViewById(R.id.callNumber);
        OnClickListener oclBtn = new OnClickListener () {
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.button_zapros:
                    Toast.makeText(getBaseContext(), "Connect", Toast.LENGTH_SHORT).show();
                    if (callNumber != null) {
                        String number = String.format("tel:%s", callNumber.getText().toString());
                        Uri callUri = Uri.parse(number);
                        Intent callIntent= new Intent(Intent.ACTION_CALL, callUri);
                    startActivity(callIntent);}
                    break;
                    }}};
button_zapros.setOnClickListener(oclBtn);
}

А хотелось бы что бы введенные в EditText номер участвовал и в BroadcastReceiver при выполнение условия проверки номера телефона с которого поступает входящая смс. Код ниже.
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class SmsReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context ctx, Intent intent) {
        Bundle bundle = intent.getExtras();
        Object[] pdus = (Object[]) bundle.get("pdus");
        SmsMessage[] messages = new SmsMessage[pdus.length];
        for (int i = 0; i < messages.length; i++){
            messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
            if (messages[i].getDisplayOriginatingAddress().contains("81234567890")) {
            Intent newintent = new Intent(ctx, MainActivity.class);
            newintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
            newintent.putExtra("message", messages[i].getDisplayMessageBody());
            ctx.startActivity(newintent);         
            } } }
    }
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2015, 20:11
Ответы с готовыми решениями:

Условие для EditText
Здравствуйте, подскажите пожалуйста кто знает, почему вот так условие не работает: if (!...

Как передать данные в EditText
Есть активность из которой необходимо передать данные в активити планировщика таким образом чтобы...

Передать String-путь в EditText AlertDialog'a ?
Вызывается Алерт диалог, в нем кнопка выбора файла, выбираем файл, получаем его путь, String...

Передать текст из EditText на Activity другого приложения
В книге приводится пример простого мессенджера. Есть кнопка &quot;Send Message&quot; и EditText, куда...

Проверить корректность введенных данных в editText (номер телефона)
Как проверить, что пользователь ввел правильный номер телефона, без +7 и 8, например 9123456789 То...

2
Rube
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,079
22.03.2015, 21:04 2
Сохраняй и считывай номер в файле.
0
Kipec
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 11
07.04.2015, 17:18  [ТС] 3
Всем привет.
Кликните здесь для просмотра всего текста
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
public class MainActivity extends Activity {
    EditText callNumber;
    Button button_zapros;
    Button button_save;
    SharedPreferences sPref;
    final String SAVED_NUMBER = "saved_number";
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.primary);
        callNumber = (EditText) findViewById(R.id.callNumber);
        button_zapros = (Button) findViewById(R.id.button_zapros);
        button_save = (Button)findViewById(R.id.button_save);
 
        OnClickListener oclBtn = new OnClickListener () {
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.button_zapros:
                    Toast.makeText(getBaseContext(), "Connect", Toast.LENGTH_SHORT).show();
                    if (callNumber != null) {
                        String number = String.format("tel:%s", callNumber.getText().toString());
                        Uri callUri = Uri.parse(number);
                        Intent callIntent= new Intent(Intent.ACTION_CALL, callUri);
                    startActivity(callIntent);}
                    break;
                case R.id.button_save:
                    saveText();
                    break;
                default:
                    break;
            }
        }
 
        };
    button_zapros.setOnClickListener(oclBtn);
    button_save.setOnClickListener(oclBtn);
    loadText();
    }
    void saveText() {
        sPref = getPreferences(MODE_PRIVATE);
        Editor ed = sPref.edit();
        ed.putString(SAVED_NUMBER, callNumber.getText().toString());
        ed.commit();
        Toast.makeText(this, "Save Number", Toast.LENGTH_SHORT).show();
  
    }
 
    void loadText() {
        sPref = getPreferences(MODE_PRIVATE);
        String savedNumber = sPref.getString(SAVED_NUMBER, "");
        callNumber.setText(savedNumber);
        Toast.makeText(this, "Load Number", Toast.LENGTH_SHORT).show();
    }
    
    @Override
    protected void onDestroy() {
        saveText();
        super.onDestroy();
    }

Сохранить номер получается и даже загружаю его при запуске, а вот как его прикрутить к сравнению не знаю.
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class SMSMonitor extends BroadcastReceiver {
 
    @Override
    public void onReceive(Context ctx, Intent intent) {
 
        Bundle bundle = intent.getExtras();
        Object[] pdus = (Object[]) bundle.get("pdus");
        SmsMessage[] messages = new SmsMessage[pdus.length];
        for (int i = 0; i < messages.length; i++){
            messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
            if (messages[i].getOriginatingAddress().[B][U]contains("89827406922")[/U][/B]);{
                Intent newintent = new Intent(ctx, Secondory.class);
                newintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                newintent.putExtra("message", messages[i].getDisplayMessageBody());
                ctx.startActivity(newintent);
            }
        }
    }
}

Помогите кто чем может.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2015, 17:18

Как хранить введенный однажды в EditText номер, чтобы при след. запуске отображался только он?
Как хранить введенный однажды в EditText номер, чтобы при след. запуске он уже отображался в поле и...

Ввод в один EditText и авто-вычисление в двух других EditText
Всем привет. Есть три поля EditText,виртуальные клавиатуры у всех заблокированы,а ввод чисел в...

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText
EditText сещается вниз при вводе текста который занимает обём больше чем EditText. Как устранить?


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

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

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