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

Приём СМС - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Портирование на Андроид http://www.cyberforum.ru/android-dev/thread1302069.html
Здравствуйте! В своё время насмотрелся "Во все тяжкие" и запилил программку на Java под ПК Хотелось бы портануть на Андроид. Программирование под оного знаю плохо. Как сделать подобный вывод? С...
Программирование Android Android Studio: ошибки При попытке запустить приложение, выдаёт такую ошибку: Unexpected error: package manager reports that package <имя_пакета> has not been installed Почему не установлен? Добавлено через 1 час 29... http://www.cyberforum.ru/android-dev/thread1301922.html
Программирование Android Получить экземпляр класса по переменой класса
Создал класс с переменной типа Marker (для карты Google Maps). public static class MyClass { int id; Marker marker; }
Обмен данными и командами между Android и Windows Программирование Android
Доброго времени суток! Перейду сразу к сути. Есть комп на Вин7, есть девайс на Android 4.4. Оба подключены к одной вай-фай, тобишь находятся в одной локальной сети (у обоих статический ip). Надо...
Программирование Android Как нажать кнопку сквозь активити? http://www.cyberforum.ru/android-dev/thread1301477.html
Приветствую вас, форумчане. Вопрос: у меня из сервиса вызывается активити прозрачное с одной кнопкой, в тот момент когда начинает звонить телефон. И так получается, что если мое активити появляется...
Программирование Android Функция закрытия приложения Подскажите пожалуйста как правильно должен выглядеть метод для закрытия приложения при нажатии на кнопку? public class MainActivity extends Activity implements OnClickListener { ...... подробнее

Показать сообщение отдельно
vovken1997
15 / 13 / 1
Регистрация: 08.07.2012
Сообщений: 190

Приём СМС - Программирование Android

16.11.2014, 17:19. Просмотров 2053. Ответов 4
Метки (Все метки)

Здравствуйте!
Уже не первый день пытаюсь прочитать своим приложением входящее сообщение, но безрезультатно. На гаджете вообще программа никак не реагирует, а эмулятор вылетает со словами "Unfortunately, sms has stopped"
Вроде бы всё делал по видео: http://youtu.be/op_7cUKceaA

Помогите пожалуйста разобраться в чём проблема)

Манифест:
XML
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.sms"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.WRITE_SMS" />
    <uses-permission android:name="android.permission.READ_SMS" />
     
   
    
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        
         <receiver android:name="SMSMonitor">
            <intent-filter android:priority="100">
            <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>
    </application>
 
</manifest>
MainActivity.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
public class MainActivity extends ActionBarActivity {
 
     Button btnSendSMS; 
     EditText txtPhoneNo; 
     EditText txtMessage; 
     TextView txt;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        btnSendSMS = (Button) findViewById(R.id.button1); 
        txtPhoneNo = (EditText) findViewById(R.id.editText1); 
        txtMessage = (EditText) findViewById(R.id.editText2);
        txt = (TextView) findViewById(R.id.textView1);
         
         btnSendSMS.setOnClickListener(new View.OnClickListener() 
         { 
             public void onClick(View v) 
             { 
                 String phoneNo = txtPhoneNo.getText().toString();
                 String message = txtMessage.getText().toString();
                 if (phoneNo.length()>0 && message.length()>0) 
                     sendSMS(phoneNo, message); 
                 else Toast.makeText(getBaseContext(), "Please enter both phone number and message.", Toast.LENGTH_SHORT).show(); 
                 } 
             }); 
    }
 
     private void sendSMS(String phoneNumber, String message) 
     { 
         String SENT = "SMS_SENT";
         String DELIVERED = "SMS_DELIVERED"; 
         PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0); 
         PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0); 
         
         SmsManager sms = SmsManager.getDefault(); 
         sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); 
         
         
    } 
 
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.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();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
SMSReciever.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
public class SMSReceiver extends BroadcastReceiver {
 
    @Override
    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 += "Messafe from "+messages[i].getOriginatingAddress();
                str += " :";
                str += messages[i].getMessageBody();
                str += "\n";
            }
            Toast.makeText(null, str, Toast.LENGTH_LONG).show();
 
        }
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru