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

СМС менеджер или блокиратор СМС по содержимому - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Задать и получить размеры виджета http://www.cyberforum.ru/android-dev/thread1099346.html
Занялся виджетами и запутался... Подскажите пожалуйста КАК это сделать? В какую сторону копать? Пытаюсь рисовать виджет ВРУЧНУЮ, на канвасе. И... 1) Нужно получить размеры картинки в...
Программирование Android При динамическом заполнении TableLayout происходит перекрытие соседних элементов Добрый день, имеется LinearLayout, включающий в себя: 1. LinearLayout с 4-мя TextView 2. TableLayout со ScrollView 3. LinearLayout с 4-мя Button Код XML: <LinearLayout... http://www.cyberforum.ru/android-dev/thread1099306.html
Программирование Android Поворот куба сначала вокруг оси y с.к. экрана потом вокруг оси x с.к. экрана
Предыстория: Я пишу 3D игру и там соответственно нужно производить поворот тела в пространстве. нужно делать 2 поворота по горизонтали и по вертикали. Вот так должно быть , а сейчас у меня ...
Программирование Android Оптимизация. Планшеты. Google Play
У кого получилось оптимизировать приложение для планшетов, что бы Google Play принял макет? У меня никак не получается! В манифесте запись сделал... <supports-screens...
Программирование Android Обработка нажатий на 3D объекты http://www.cyberforum.ru/android-dev/thread1099144.html
Как обрабатывать нажатия по объемным моделям в LibGDX? Если работаете с OpenGl, напишите как там? Разбираться с 3D только начал, на wiki ничего, к сожалению, не нашел, заранее спасибо за любую помощь.
Программирование Android Сканер для Android Люди, подскажите ) Такой вопрос: думаю на диплом написать программу сканер на Андроид: делаешь снимок документа, и программка распознаёт текст и всё такое и сохраняет его в телефоне в документе... подробнее

Показать сообщение отдельно
name?
198 / 169 / 18
Регистрация: 01.06.2010
Сообщений: 371
Завершенные тесты: 1
18.02.2014, 13:37
я писал подобное приложение вот так:
перехватываем все сообщение нашей программой
Кликните здесь для просмотра всего текста
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
public class SmsReceiver extends BroadcastReceiver {
    private StringBuilder body = new StringBuilder();
    
    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle extras = intent.getExtras();
        String strMsgSrc = "";
        String strMsgDate = "";
        if (extras != null) {
            Object[] smsextras = (Object[]) extras.get("pdus");
 
            for (int i = 0; i < smsextras.length; i++) {
                SmsMessage smsmsg = SmsMessage
                        .createFromPdu((byte[]) smsextras[i]);
 
                 body.append(smsmsg.getMessageBody().toString());
                 strMsgSrc = smsmsg.getOriginatingAddress();
                 strMsgDate =String.valueOf(smsmsg.getTimestampMillis());
 
            }
            Intent mIntent = new Intent(context, SmsService.class);
            mIntent.putExtra("body", body.toString());
            mIntent.putExtra("date", strMsgDate);
            mIntent.putExtra("address", strMsgSrc);
            context.startService(mIntent);
            abortBroadcast();
        }
 
    }
}

далее передаем все в сервис, там мы проверяем текст и думаем сохранять его нам или нет

Кликните здесь для просмотра всего текста
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
public class SmsService extends Service {
   private Context context;
   private String body;
   private String date;
   private String address;
   
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        context = getApplicationContext();
        body = intent.getExtras().getString("body");
        date =  intent.getExtras().getString("date");
        address = intent.getExtras().getString("address");
        new Thread(updateMessage).start();
        return START_STICKY;
    }
    
    private void showNotification(String message, String address) {
        Intent notificationIntent = new Intent(context, MessageActivity.class);
        notificationIntent.putExtra("number", address);
        notificationIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
        NotificationCompat.Builder nb = new NotificationCompat.Builder(context)
                .setSmallIcon(R.drawable.small_icon)
                .setAutoCancel(true)
                .setTicker(message)
                .setContentText(message)
                .setContentIntent(
                        PendingIntent.getActivity(context, 0,
                                notificationIntent,
                                PendingIntent.FLAG_UPDATE_CURRENT))
                .setWhen(System.currentTimeMillis())
                .setContentTitle("CompressMe")
                .setDefaults(Notification.DEFAULT_SOUND);
 
        NotificationManager notificationManager = (NotificationManager) context
                .getSystemService(Context.NOTIFICATION_SERVICE);
        @SuppressWarnings("deprecation")
        Notification notification = nb.getNotification();
        notificationManager.notify(R.drawable.ic_launcher, notification);
    }
    
    public static void restoreSms(Context context,String address,String body, String date, String smsPath) {
        ContentValues values = new ContentValues();
        values.put("address", address);//sender name
        values.put("date", date);
        values.put("body", body);
        context.getContentResolver().insert(Uri.parse(smsPath), values);
    }
    
    
    
    
    Runnable updateMessage = new Runnable() {
        public void run() {
            Log.v("HANDLE", "update");
//if(isSave()){ поидее тут должна быть ваша проверка
            body = check(body);
            showNotification(body,address);
            restoreSms(context,address, body, date,SMS_INBOX);
        }
      };
    
    private String check(String body) {
        if(body.charAt(0) == '&'){
            return new Chiper().translateToRus(body);
        }
        return body;
    }
    
    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru