Урок 92. Service. Простой пример

Обсуждение уроков
G_O_R
Сообщения: 57
Зарегистрирован: 13 ноя 2012, 08:02

Re: Урок 92. Service. Простой пример

Сообщение G_O_R » 16 янв 2013, 18:26

(((где нибудь сохраняются кроме стандартного workspace в других местах программы. винда слетела переустановил . эклипс сам на другом диске был и он работает. но программы нет((( только apk файл . кстати его может можно как то.....((((

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 92. Service. Простой пример

Сообщение rezak90 » 29 янв 2013, 20:27

интересный сервис появился с 17-го апи - DreamService =)
R.id.team
Политика на форуме запрещена

hotdog75rus
Сообщения: 3
Зарегистрирован: 11 фев 2013, 10:01

Re: Урок 92. Service. Простой пример

Сообщение hotdog75rus » 11 фев 2013, 10:41

Добрый день форумчане!

Для начала огромное спасибо за уроки. Вопрос следующего характера по сервису. Хочу обучить сервис реагировать на набор номера, конкретно таким образом:
1) Пользователь устройства начитает набор телефонного номера, и если набранный номер соответствует определенной комбинации цифр к примеру 5555, запускается приложение -Activity? (данная функция реализована в антивирусе для android - avast), подскажите куда копать. Заранее спасибо.
2) Как реализовать автостарт сервиса при старте OS

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 92. Service. Простой пример

Сообщение damager82 » 14 фев 2013, 13:39

hotdog75rus писал(а):Добрый день форумчане!

Для начала огромное спасибо за уроки. Вопрос следующего характера по сервису. Хочу обучить сервис реагировать на набор номера, конкретно таким образом:
1) Пользователь устройства начитает набор телефонного номера, и если набранный номер соответствует определенной комбинации цифр к примеру 5555, запускается приложение -Activity? (данная функция реализована в антивирусе для android - avast), подскажите куда копать. Заранее спасибо.
2) Как реализовать автостарт сервиса при старте OS
Насчет автозагрузки - это Урок 100. А по первому пункту - вообще не представляю как это сделать ...
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Озорная Свинья
Сообщения: 59
Зарегистрирован: 02 фев 2013, 00:03

Re: Урок 92. Service. Простой пример

Сообщение Озорная Свинья » 17 фев 2013, 13:14

hotdog75rus писал(а): 1) Пользователь устройства начитает набор телефонного номера, и если набранный номер соответствует определенной комбинации цифр к примеру 5555, запускается приложение -Activity? (данная функция реализована в антивирусе для android - avast), подскажите куда копать. Заранее спасибо.
Наверно тебе надо сделать свою прогу как сервис, который будет мониторить клаву и если час икс настал, разворачивать активити и дудеть в дудку :)

hotdog75rus
Сообщения: 3
Зарегистрирован: 11 фев 2013, 10:01

Re: Урок 92. Service. Простой пример

Сообщение hotdog75rus » 19 фев 2013, 16:34

Озорная Свинья писал(а):
hotdog75rus писал(а): 1) Пользователь устройства начитает набор телефонного номера, и если набранный номер соответствует определенной комбинации цифр к примеру 5555, запускается приложение -Activity? (данная функция реализована в антивирусе для android - avast), подскажите куда копать. Заранее спасибо.
Наверно тебе надо сделать свою прогу как сервис, который будет мониторить клаву и если час икс настал, разворачивать активити и дудеть в дудку :)

Все верно, именно это мне и нужно реализовать, хотелось бы собственно реализацию вот этого мониторить клаву, я пока не знаю как этого достичь.

hotdog75rus
Сообщения: 3
Зарегистрирован: 11 фев 2013, 10:01

Re: Урок 92. Service. Простой пример

Сообщение hotdog75rus » 28 фев 2013, 08:53

Печально, вопрос решить так и не получается.

cin
Сообщения: 5
Зарегистрирован: 06 апр 2013, 06:32

Re: Урок 92. Service. Простой пример

Сообщение cin » 06 апр 2013, 06:36

Пытаюсь сделать сервис в своей программе по вашему уроку - Не работает.

Код: Выделить всё

// Compiled from Class.java (version 1.5 : 49.0, super bit)
// Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/reflect/GenericDeclaration;Ljava/lang/reflect/Type;
public final class java.lang.Class implements java.io.Serializable, java.lang.reflect.AnnotatedElement, java.lang.reflect.GenericDeclaration, java.lang.reflect.Type {
  
  // Method descriptor #12 ()V
  // Stack: 3, Locals: 1
  Class();
     0  aload_0 [this]
     1  invokespecial java.lang.Object() [1]
     4  new java.lang.RuntimeException [2]
     7  dup
     8  ldc <String "Stub!"> [3]
    10  invokespecial java.lang.RuntimeException(java.lang.String) [4]
    13  athrow
      Line numbers:
        [pc: 0, line: 5]
      Local variable table:
        [pc: 0, pc: 14] local: this index: 0 type: java.lang.Class
      Local variable type table:
        [pc: 0, pc: 14] local: this index: 0 type: java.lang.Class<T>
  
  // Method descriptor #21 (Ljava/lang/String;)Ljava/lang/Class;
  // Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
  // Stack: 3, Locals: 1
  public static java.lang.Class forName(java.lang.String className) throws java.lang.ClassNotFoundException;
     0  new java.lang.RuntimeException [2]
     3  dup
     4  ldc <String "Stub!"> [3]
     6  invokespecial java.lang.RuntimeException(java.lang.String) [4]
     9  athrow
      Line numbers:
        [pc: 0, line: 6]
      Local variable table:
        [pc: 0, pc: 10] local: className index: 0 type: java.lang.String
  
  // Method descriptor #28 (Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
  // Signature: (Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class<*>;
  // Stack: 3, Locals: 3
  public static java.lang.Class forName(java.lang.String className, boolean initializeBoolean, java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundException;
     0  new java.lang.RuntimeException [2]
     3  dup
     4  ldc <String "Stub!"> [3]
     6  invokespecial java.lang.RuntimeException(java.lang.String) [4]
     9  athrow
      Line numbers:
        [pc: 0, line: 7]
      Local variable table:
        [pc: 0, pc: 10] local: className index: 0 type: java.lang.String
        [pc: 0, pc: 10] local: initializeBoolean index: 1 type: boolean
        [pc: 0, pc: 10] local: classLoader index: 2 type: java.lang.ClassLoader
  
  ....
  ....
}
Последний раз редактировалось cin 06 апр 2013, 08:19, всего редактировалось 1 раз.

cin
Сообщения: 5
Зарегистрирован: 06 апр 2013, 06:32

Re: Урок 92. Service. Простой пример

Сообщение cin » 06 апр 2013, 08:17

Короче переделал скопировав ваш код.

=bor=
Сообщения: 267
Зарегистрирован: 21 мар 2013, 12:26

Re: Урок 92. Service. Простой пример

Сообщение =bor= » 06 апр 2013, 11:53

G_O_R писал(а):(((где нибудь сохраняются кроме стандартного workspace в других местах программы. винда слетела переустановил . эклипс сам на другом диске был и он работает. но программы нет((( только apk файл . кстати его может можно как то.....((((
А какие проблемы, если есть apk файл??
Это ж zip-архив, открывайте его хоть 7zip'ом, там всё.

ps. В №3 Хакера была статья "Препарируем apk", почитайте, и вот тут, и тут.

vadlm
Сообщения: 3
Зарегистрирован: 10 мар 2012, 15:55

Re: Урок 92. Service. Простой пример

Сообщение vadlm » 16 апр 2013, 17:37

Хотел спросить - а не проще сразу сервис в отдельный процесс выделить?

т.е. прописать в манифесте для сервиса что-то вроде = android:process=":my_process"

Или это в учебных целях через Thread в примере реализовано?

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 92. Service. Простой пример

Сообщение damager82 » 17 апр 2013, 13:24

vadlm писал(а):Хотел спросить - а не проще сразу сервис в отдельный процесс выделить?

т.е. прописать в манифесте для сервиса что-то вроде = android:process=":my_process"

Или это в учебных целях через Thread в примере реализовано?
Я не стал с самого начала такое давать. Дальше это будет.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

veen
Сообщения: 2
Зарегистрирован: 15 май 2013, 13:11

Re: Урок 92. Service. Простой пример

Сообщение veen » 15 май 2013, 14:35

rezak90 писал(а):
... пользователь закроет приложение и взаимодействие с сервером утрачено, а так он может закрыть приложение а сервис будет спокойно работать и когда придут новые данные с сервера он оповестит (или запустит приложение) пользователя (но не через какой либо UI, так как он не видим).
Добрый день,

не могу разобраться, подскажите пожалуйста кто-нибудь, как из сервиса запустить activity?

Пытаюсь сделать это через Intent Filter:
Intent mIntent = new Intent ("com.example.alarm.action.start_example");
startActivity (mIntent);

Эмулятор выдает ошибку: "Unfortunately, (название приложения) has stopped."

Вообще, сначала пытался запускать activity по наступлению события (например получение смс) из BroadcastReceiver.
Выяснил, что это невозможно, но можно сделать через сервис.
Но и тут, что-то никак не выходит каменный цветок. )

brucemax
Сообщения: 117
Зарегистрирован: 01 апр 2012, 16:09
Откуда: Минск
Контактная информация:

Re: Урок 92. Service. Простой пример

Сообщение brucemax » 17 май 2013, 15:09

veen писал(а): Пытаюсь сделать это через Intent Filter:
Intent mIntent = new Intent ("com.example.alarm.action.start_example");
startActivity (mIntent);

Эмулятор выдает ошибку: "Unfortunately, (название приложения) has stopped."
К интенту флажок надо прикрутить FLAG_ACTIVITY_NEW_TASK.

Код: Выделить всё

Intent i = new Intent();
i.setClass(this, MyActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
P.S. Есть замечательный сайт http://stackoverflow.com/. Гугл первый его кидает на подобные вопросы=)

veen
Сообщения: 2
Зарегистрирован: 15 май 2013, 13:11

Re: Урок 92. Service. Простой пример

Сообщение veen » 17 май 2013, 20:13

brucemax писал(а):
veen писал(а): Пытаюсь сделать это через Intent Filter:
Intent mIntent = new Intent ("com.example.alarm.action.start_example");
startActivity (mIntent);

Эмулятор выдает ошибку: "Unfortunately, (название приложения) has stopped."
К интенту флажок надо прикрутить FLAG_ACTIVITY_NEW_TASK.

Код: Выделить всё

Intent i = new Intent();
i.setClass(this, MyActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
P.S. Есть замечательный сайт http://stackoverflow.com/. Гугл первый его кидает на подобные вопросы=)
Спасибо Огромное!
У меня получилось ))

Про stackoverflow.com я знаю, но английский пока слабоват, поэтому тяжело там что-то искать и разбираться (

Heggi
Сообщения: 2
Зарегистрирован: 28 май 2013, 20:36

Re: Урок 92. Service. Простой пример

Сообщение Heggi » 28 май 2013, 20:37

Как получить состояние сервиса? Запущен или нет?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 92. Service. Простой пример

Сообщение Foenix » 28 май 2013, 20:46

Heggi писал(а):Как получить состояние сервиса? Запущен или нет?

Код: Выделить всё

if(startService(someIntent) != null) { 
    Toast.makeText(getBaseContext(), "Сервис уже запущен", Toast.LENGTH_SHORT).show();
}else {
    Toast.makeText(getBaseContext(), "Сервис не запущен, стартую сервис..", Toast.LENGTH_SHORT).show();
}
что-то вроде этого.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Heggi
Сообщения: 2
Зарегистрирован: 28 май 2013, 20:36

Re: Урок 92. Service. Простой пример

Сообщение Heggi » 28 май 2013, 21:14

А если не требуется его запускать? Просто проверить его состояние.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 92. Service. Простой пример

Сообщение Foenix » 28 май 2013, 21:32

R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Markevich
Сообщения: 6
Зарегистрирован: 10 июл 2013, 00:26

Re: Урок 92. Service. Простой пример

Сообщение Markevich » 10 июл 2013, 00:42

brucemax писал(а):
veen писал(а): Пытаюсь сделать это через Intent Filter:
Intent mIntent = new Intent ("com.example.alarm.action.start_example");
startActivity (mIntent);

Эмулятор выдает ошибку: "Unfortunately, (название приложения) has stopped."
К интенту флажок надо прикрутить FLAG_ACTIVITY_NEW_TASK.

Код: Выделить всё

Intent i = new Intent();
i.setClass(this, MyActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
P.S. Есть замечательный сайт http://stackoverflow.com/. Гугл первый его кидает на подобные вопросы=)
Прошу прошения за глупый вопрос. Где это ставится?
Суть вопроса в следующем пытаюсь получить данные с сайта. Раньше все работало. Теперь ошибка не пойму где накосячил. Все проверил и по ссылке ответы читал, подходящего не нашел. Подскажите из-за чего возникает данная ошибка? Где искать решение?

Ответить