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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
#1

Оповещение при звонке - Программирование Android

24.04.2013, 23:08. Просмотров 1544. Ответов 18
Метки нет (Все метки)

Добрый вечер
Возможно ли сделать так чтобы после того как пользователь отвечал на звонок или к примеру приходило смс, выполнялось какое то событие генерируемое приложением (например какое то сообщение появлялось на экране) ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2013, 23:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оповещение при звонке (Программирование Android):

Не изменяется текст в TextView при звонке - Программирование Android
Здравствуйте. Пытаюсь реализовать следующее: Есть activity, где проигрывается аудио. Хочу чтобы при входящем звонке в TextView появлялась...

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

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

Возможно ли передавать информацию о входящем звонке? - Программирование Android
Добрый день. Мне никогда ранее не приходилось писать на мобильных платформах, поэтому заранее извиняюсь, если вопрос глупый. ...

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

Оповещение в UI из потока - Программирование Android
Доброго времени. суть проблеммы в сл. не работает повторное оповещение UI из потока. в приложении создаеЦа новый поток для выполнения некой...

18
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.04.2013, 23:16 #2
http://stackoverflow.com/questions/9...ceiver-handler
http://www.tutorialforandroid.com/20...alling_22.html
1
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
25.04.2013, 21:23  [ТС] #3
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import android.content.Intent;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Toast;
 
public class MyPhoneStateListener extends PhoneStateListener {
    
      public void onCallStateChanged(int state,String incomingNumber){
      switch(state){
        case TelephonyManager.CALL_STATE_IDLE:    
          Log.d("DEBUG", "IDLE");
        break;
        case TelephonyManager.CALL_STATE_OFFHOOK:      
          Log.d("DEBUG", "OFFHOOK");
        break;
        case TelephonyManager.CALL_STATE_RINGING:  
          Log.d("DEBUG", "RINGING");
        break;
        }
      } 
    }

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
 
public class ServiceReceiver extends BroadcastReceiver {
      @Override
      public void onReceive(Context context, Intent intent) {
        MyPhoneStateListener phoneListener=new MyPhoneStateListener();
        TelephonyManager telephony = (TelephonyManager) 
        context.getSystemService(Context.TELEPHONY_SERVICE);
        telephony.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE);
      }
    }

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
import java.util.concurrent.TimeUnit;
 
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Toast;
 
public class MyService extends Service {
    NotificationManager nm;
      
      final String LOG_TAG = "myLogs";
 
      public void onCreate() {
        super.onCreate();
        Log.d(LOG_TAG, "onCreate");
        nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        
      }
      
      public int onStartCommand(Intent intent, int flags, int startId) {
        sendNotif();
        return super.onStartCommand(intent, flags, startId);
      }
 
      public void onDestroy() {
        super.onDestroy();
      }
 
      public IBinder onBind(Intent intent) {
        return null;
      }
 
 
    
      
      @SuppressWarnings("deprecation")
    void sendNotif() {
            Notification notif = new Notification(R.drawable.ic_launcher, "Text", 
              System.currentTimeMillis());
            Intent intent = new Intent(this, MainActivity.class);
            PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);
            notif.setLatestEventInfo(this, "Text", "Text", pIntent);
            notif.flags |= Notification.FLAG_AUTO_CANCEL;
            nm.notify(1, notif);
          }
 
    }

Когда программа в фоне, то в логах появляются записи об этом.

а как определять звонок в сервисе?
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.04.2013, 21:35 #4
Цитата Сообщение от metrolog Посмотреть сообщение
а как определять звонок в сервисе?
передать с ресивера в сервис.

Добавлено через 2 минуты
ресивер можно динамически создать в сервисе - http://www.vogella.com/articles/Andr...ver_deregister
0
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
25.04.2013, 21:38  [ТС] #5
нужно чтобы при звонке, сервис создал уведомление.
то есть при звонке, передаю с ресивера на сервис, да?
каким образом он примет с ресивера? в потоке проверять? или он сам проверяет ?
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.04.2013, 21:50 #6
Цитата Сообщение от metrolog Посмотреть сообщение
нужно чтобы при звонке, сервис создал уведомление
а какая разница кто создает уведомление?

Цитата Сообщение от metrolog Посмотреть сообщение
то есть при звонке, передаю с ресивера на сервис, да?
да.

Цитата Сообщение от metrolog Посмотреть сообщение
каким образом он примет с ресивера? в потоке проверять? или он сам проверяет ?
вызовом метода сервиса.
0
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
25.04.2013, 21:55  [ТС] #7
а какая разница кто создает уведомление?
чтобы уведомления появлялись при закрытой программе, через сервис.


вызовом метода сервиса.
не могли небольшой пример как передать с ресивера на сервис и как обработать на ресивере?
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.04.2013, 22:03 #8
Цитата Сообщение от metrolog Посмотреть сообщение
чтобы уведомления появлялись при закрытой программе, через сервис.
так какая разница?


Цитата Сообщение от metrolog Посмотреть сообщение
не могли небольшой пример как передать с ресивера на сервис и как обработать на ресивере?
биндаете сервис и получаете объект для коммуникации, это может быть сам сервис и вызываете нужный метод.
1
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
25.04.2013, 22:07  [ТС] #9
Цитата Сообщение от V0v1k Посмотреть сообщение
чтобы уведомления появлялись при закрытой программе, через сервис.
так какая разница?

есть программа, из нее запускается сервис, предположим потом ее закрывают.
Если она закрыта при звонке уведомление она не сможет выдать ,так же? вот для этого я все это делаю в сервисе.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.04.2013, 22:16 #10
Цитата Сообщение от документация
Declares a broadcast receiver (a BroadcastReceiver subclass) as one of the application's components. Broadcast receivers enable applications to receive intents that are broadcast by the system or by other applications, even when other components of the application are not running.
...
0
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
25.04.2013, 22:28  [ТС] #11
тогда последний вопрос, как создать и активировать приложение из ресивера?
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.04.2013, 22:30 #12
Цитата Сообщение от metrolog Посмотреть сообщение
создать и активировать приложение
нет такого понятия.
0
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
25.04.2013, 22:31  [ТС] #13
блин, уведомление имел ввиду.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.04.2013, 22:34 #14
какое уведомление?
0
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
25.04.2013, 22:36  [ТС] #15
чтобы при звонке ресивер сгенерировал уведомление и оно появилось в центре уведомлений телефона.
как создать уведомление из ресивера?
0
25.04.2013, 22:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2013, 22:36
Привет! Вот еще темы с ответами:

Оповещение по заданному времени и дате - Программирование Android
Здравствуйте, есть задача вывести оповещение по заданной пользователем дате и времени. В сети много примеров, но не понятно как с...

Оповещение в приложение, к которому нет доступа - Программирование Android
Возможно ли как-то показать сообщение всем, у кого установлено приложение? Но к самому приложению, точнее, к его публикации у меня нет...

Неправильно работает оповещение google Firebase - Программирование Android
Сделал оповещение настроил его таким образом private void showNotification(String title, String message) { Intent intent =...

Изменить голос при звонке онлайн - Софт
Всем доброго времени. Нужна помощь специалистов. Нужна программа для изменения голоса при входящем звонке. Звонить будут мне на...


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

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

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