Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Как задать определённый номер на отправку смс и приём смс - Программирование Android

08.05.2015, 15:14. Просмотров 744. Ответов 2
Метки нет (Все метки)

Подскажите, что нужно добавить или переделать чтобы можно было принимать смс строго с определённого номера, а так же как задать определённый номер на отправку?

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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package com.example.dda.sms;
 
import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
 
 
public class Main extends ActionBarActivity {
 
    Button sendSMS;
    EditText msgText;
    EditText numText;
    IntentFilter intentFilter;
    Button historyBtn;
    Button helpBtn;
 
 
    private BroadcastReceiver intentReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            TextView intTxt = (TextView) findViewById(R.id.textMsg);
 
            intTxt.setText(intent.getExtras().getString("sms"));
 
        }
    };
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        intentFilter = new IntentFilter();
        intentFilter.addAction("SMS_RECEIVED_ACTION");
// id команды для кнопок и текста
           historyBtn = (Button) findViewById(R.id.historyBtn);
            historyBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intentopenhistry = new Intent(Main.this, Log.class);
                    startActivity(intentopenhistry);
                }
            });
           sendSMS = (Button) findViewById(R.id.sendBtn);
           msgText = (EditText) findViewById(R.id.message);
           numText = (EditText) findViewById(R.id.numberTxt);
           sendSMS.setOnClickListener(new View.OnClickListener()
           {
               public void onClick(View v){
                   String myMsg = msgText.getText().toString(); //string values
                   String theNumber = numText.getText().toString(); //string values
 
                   sendMsg(theNumber,myMsg);
               }
           });
    }
    protected void sendMsg(String theNumber, String myMsg){
 
           String SENT = "Message sent";
           String DELIVERED = "Message Delivered";
 
        PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT),0); //обработка доставки //подтвержедение отправки
        PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED),0);//подтверждение доставки
t
 
        registerReceiver(new BroadcastReceiver() {
            public void onReceive(Context arg0, Intent arg1) {
                //context - ситуация  и intent - содержание
                switch (getResultCode()) {
                    case Activity.RESULT_OK: 
                        Toast.makeText(Main.this, "SMS sent", Toast.LENGTH_LONG).show();
                        break;
                    case SmsManager.RESULT_ERROR_GENERIC_FAILURE: 
                        Toast.makeText(getBaseContext(), "Generic Failure", Toast.LENGTH_LONG).show();
                        break;
                    case SmsManager.RESULT_ERROR_NO_SERVICE: 
                        Toast.makeText(getBaseContext(), "No Service", Toast.LENGTH_LONG).show();
                        break;
                }
            }
        }, new IntentFilter(SENT));
 
        registerReceiver(new BroadcastReceiver()
        {
          public void onReceive(Context arg0, Intent arg1)
          {
            switch (getResultCode())
 
                {
                case Activity.RESULT_OK:
                    Toast.makeText(getBaseContext(), "SMS delivered", Toast.LENGTH_LONG).show();
                    break;
                    case Activity.RESULT_CANCELED:
                    Toast.makeText(getBaseContext(), "SMS not delivered", Toast.LENGTH_LONG).show();
                    break;
                 }
            }
        }, new IntentFilter(DELIVERED));
 
 
 
 
        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(theNumber, null, myMsg, sentPI, deliveredPI);
 
      }
 
    protected  void onResume (){
 
        registerReceiver(intentReceiver, intentFilter);
        super.onResume();
    }
 
    protected void onPause(){
 
        unregisterReceiver(intentReceiver);
        super.onPause();
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, 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();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
}
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
package com.example.dda.sms;
 
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.provider.Telephony;
import android.telephony.SmsMessage;
import android.widget.Toast;
 
import java.util.Objects;
 
public class SMSReceiver extends BroadcastReceiver{
 
 
    public void onReceive(Context context, Intent intent) {
 
        Bundle bundle = intent.getExtras();
        SmsMessage[] messages=null;
        String str = "";
        if(bundle != null)
        {
            Object[] pdus = (Object[]) bundle.get("pdus");
            messages = new SmsMessage[pdus.length];
            for(int i=0; i<messages.length; i++)
            {
                messages[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
                str += "Message from " + messages[i].getOriginatingAddress();
                str += ": ";
                str += messages[i].getMessageBody().toString();
                str += "\n";
            }
 
            Toast.makeText(context, str, Toast.LENGTH_LONG).show();
 
            Intent broadcastIntent = new Intent();
            broadcastIntent.setAction("SMS_RECEIVED_ACTION");
            broadcastIntent.putExtra("sms", str);
            context.sendBroadcast(broadcastIntent);
        }
 
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2015, 15:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как задать определённый номер на отправку смс и приём смс (Программирование Android):

Приём СМС - Программирование Android
Здравствуйте! Уже не первый день пытаюсь прочитать своим приложением входящее сообщение, но безрезультатно. На гаджете вообще программа...

СМС менеджер или блокиратор СМС по содержимому - Программирование Android
вообщем пишу приложение, которое(смс менеджер или блокиратор смс по содержимому), натолкнулся на проблему которою уже давненько не могу...

Отправить смс на номер из телефонной книги - Программирование Android
Можете помочь в этом вопросе: &quot;Как отправить смс на номер из телефонной книги&quot; ? Как бы сначало нужно получить список всех контактов и...

Отправка смс, где номер и соообщение берутся из удалённых файлов - Программирование Android
Всем привет. Есть магазин по продаже ICQ номеров разной степени длины. Суть в том, что бы пользователь андроида QR кодом скачивал...

Чтение смс - Программирование Android
Здравствуйте. Возникла такая проблема. Необходимо написать приложение на андроид с одной кнопкой, при нажатии на которую оно читало...

Реакция на смс - Программирование Android
Всем привет! Ребята спасайте, срочно нужно написать приложение на андроид, чтобы происходила определенная реакция на смс, в данном случае...

2
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
08.05.2015, 15:21 #2
вопроса не вижу конкретного. что ты хочешь узнать
0
DDA
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 29
08.05.2015, 15:26  [ТС] #3
Вопрос в том, что нужно чтоб приложение прослушивало входящие SMS с определенного(заданного) номера и получало его текст

Пока у меня приходится вводить номер
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2015, 15:26
Привет! Вот еще темы с ответами:

Обработка смс - Программирование Android
Приветствую. Есть необходимость в сабже. Нашел в нете статью, с похожими вводными данными - так же требуется отслеживать поступление смс...

Отправка смс - Программирование Android
Всем привет. Есть магазин по продаже ICQ номеров разной длины. Суть в том, что бы пользователь андроида QR кодом скачивал приложение,...

Обработать смс - Программирование
Доброго времени суток. Сбербанковский Квик (терминал для входа на Московскую биржу). На каждый вход безапелляционно требует вводить код с...

Конвертирование email в смс - Программирование Android
Господа знатоки, решил написать программу отправки смс через email, но на просторах интернета не где не могу найти информации о...


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

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

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