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

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

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

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

08.05.2015, 15:14. Просмотров 658. Ответов 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);
        }
 
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2015, 15:14     Как задать определённый номер на отправку смс и приём смс
Посмотрите здесь:
Приём СМС Android
Android СМС менеджер или блокиратор СМС по содержимому
Отправить смс на номер из телефонной книги Android
Отправка смс, где номер и соообщение берутся из удалённых файлов Android
Android Отправка смс
Реакция на смс Android
Android Обработка смс
Чтение смс Android
Приходят смс с крякозябрами Android
Вывод смс в textView Android
Android Проверка смс на содержимое
Конвертирование email в смс Android

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

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

Пока у меня приходится вводить номер
Ответ Создать тему
Опции темы

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