Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 18 июн 2018, 10:54

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
СообщениеДобавлено: 24 авг 2015, 11:46 

Зарегистрирован: 21 авг 2015, 18:02
Сообщений: 3
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
mkw, к сожалению, это тоже не сработало :(


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 24 авг 2015, 11:59 
Аватар пользователя

Зарегистрирован: 09 янв 2012, 14:45
Сообщений: 2386
Откуда: Самара
Благодарил (а): 102 раз.
Поблагодарили: 321 раз.
Не знаю, прошлый вариант по мне рабочий. У нас почти такой же, рабочий
Код: [ Загрузить ] [ Скрыть ]
Using XML Syntax Highlighting
  1.     <application
  2.        ... >
  3.         <receiver
  4.            android:name=".MyBootReceiver"
  5.            android:enabled="true"
  6.            android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
  7.             <intent-filter>
  8.                 <action android:name="android.intent.action.BOOT_COMPLETED" />
  9.                 <action android:name="android.intent.action.QUICKBOOT_POWERON" />
  10.                 <category android:name="android.intent.category.DEFAULT" />
  11.             </intent-filter>
  12.         </receiver>
  13.     </application>
  14.  

Стоять это должно в теге application!

_________________
Изображение

А тот ли ты путь выбрал, разработчик?
Хочешь знать ошибки ответ? Загляни в logcat!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 24 авг 2015, 16:58 

Зарегистрирован: 21 авг 2015, 18:02
Сообщений: 3
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Нашел причину, странноватая она оказалась. Эта строчка оказалась неработающей:
<uses-permission android:name="ANDROID.PERMISSION.RECEIVE_BOOT_COMPLETED" />

Как только я исправил ее на
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
всё сразу заработало.

Странно, подумал я, ведь, можно сказать, я вручную почти и не писал этот permission, а всего лишь начал писать "BOO", потом нажал Enter на первом предложенном варианте, после чего Android Studio (v1.3.1) услужливо дописал за меня "ANDROID.PERMISSION.RECEIVE_BOOT_COMPLETED". Сегодня, когда я, наконец, каким-то чудом нашел причину проблемы, то решил попробовать начать писать не "BOO", а "boo". Строка после нажатия Enter стала выглядеть вот так: "android.permission.RECEIVE_BOOT_COMPLETED". Такие дела. Как обычно, смог проверить на Android 4.0.4 и 4.2.2.
Не знаю, проявляет ли себя эта проблема у кого-нибудь еще, но мне она стоила трех потерянных дней и почти всех волос на заднице.

Mikhail_dev, спасибо за информацию насчет QUICKBOOT_POWERON, буду теперь знать. Такой вопрос вдогонку, может ли ресивер за одну загрузку поймать и BOOT_COMPLETED, и QUICKBOOT_POWERON? Или система при загрузке отсылает что-то одно из этого? То есть, имеет ли смысл что-то предпринимать, чтобы ресивер не выполнил onRecieve() два раза?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 25 сен 2015, 11:52 

Зарегистрирован: 28 мар 2014, 16:57
Сообщений: 24
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Как можно отправить задачу по нажатии кнопки, а не в onCreate ?

Допустим в OnClick_On1 выполнить
Код: [ Загрузить ] [ Скрыть ]
  1. startService(intent.putExtra("time", 1).putExtra("label", "Call 2")); 

Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. public class MainActivity extends AppCompatActivity {
  2.     TextView TV_Errors, TV_Otvet;
  3.  
  4.     @Override
  5.     protected void onCreate(Bundle savedInstanceState) {
  6.         super.onCreate(savedInstanceState);
  7.         setContentView(R.layout.activity_main);
  8.  
  9.         TV_Errors = (TextView) findViewById(R.id.TV_Errors);
  10.         TV_Otvet = (TextView) findViewById(R.id.TV_Otvet);
  11.  
  12.         Intent intent = new Intent(this, SendWriteDataIntentService.class); //Инициализация сервиса
  13.  
  14.         startService(intent.putExtra("time", 3).putExtra("label", "Call 1"));
  15.         startService(intent.putExtra("time", 1).putExtra("label", "Call 2"));
  16.         startService(intent.putExtra("time", 4).putExtra("label", "Call 3"));
  17.  
  18.     }
  19.  
  20.     @Override
  21.     public boolean onCreateOptionsMenu(Menu menu) {
  22.         // Inflate the menu; this adds items to the action bar if it is present.
  23.         getMenuInflater().inflate(R.menu.menu_main, menu);
  24.         return true;
  25.     }
  26.  
  27.     @Override
  28.     public boolean onOptionsItemSelected(MenuItem item) {
  29.         // Handle action bar item clicks here. The action bar will
  30.         // automatically handle clicks on the Home/Up button, so long
  31.         // as you specify a parent activity in AndroidManifest.xml.
  32.         int id = item.getItemId();
  33.  
  34.         //noinspection SimplifiableIfStatement
  35.         if (id == R.id.action_settings) {
  36.             return true;
  37.         }
  38.  
  39.         return super.onOptionsItemSelected(item);
  40.     }
  41.  
  42.     public void OnClick_On1(View view) {
  43.  
  44.     }
  45.  
  46.     public void OnClick_On2(View view){
  47.  
  48.     }
  49.  
  50.     public void OnClick_On3(View view){
  51.  
  52.     }
  53.  
  54.  
  55.     public void OnClick_Exit(View view){
  56.         finish();
  57.     }
  58. }


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 25 сен 2015, 18:03 
Аватар пользователя

Зарегистрирован: 09 сен 2015, 13:53
Сообщений: 19
Благодарил (а): 1 раз.
Поблагодарили: 5 раз.
Chvalov писал(а):
Как можно отправить задачу по нажатии кнопки, а не в onCreate ?

Допустим в OnClick_On1 выполнить
Код: [ Загрузить ] [ Скрыть ]
  1. startService(intent.putExtra("time", 1).putExtra("label", "Call 2")); 

Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. public class MainActivity extends AppCompatActivity {
  2.     TextView TV_Errors, TV_Otvet;
  3.  
  4.     @Override
  5.     protected void onCreate(Bundle savedInstanceState) {
  6.         super.onCreate(savedInstanceState);
  7.         setContentView(R.layout.activity_main);
  8.  
  9.         TV_Errors = (TextView) findViewById(R.id.TV_Errors);
  10.         TV_Otvet = (TextView) findViewById(R.id.TV_Otvet);
  11.  
  12.         Intent intent = new Intent(this, SendWriteDataIntentService.class); //Инициализация сервиса
  13.  
  14.         startService(intent.putExtra("time", 3).putExtra("label", "Call 1"));
  15.         startService(intent.putExtra("time", 1).putExtra("label", "Call 2"));
  16.         startService(intent.putExtra("time", 4).putExtra("label", "Call 3"));
  17.  
  18.     }
  19.  
  20.     @Override
  21.     public boolean onCreateOptionsMenu(Menu menu) {
  22.         // Inflate the menu; this adds items to the action bar if it is present.
  23.         getMenuInflater().inflate(R.menu.menu_main, menu);
  24.         return true;
  25.     }
  26.  
  27.     @Override
  28.     public boolean onOptionsItemSelected(MenuItem item) {
  29.         // Handle action bar item clicks here. The action bar will
  30.         // automatically handle clicks on the Home/Up button, so long
  31.         // as you specify a parent activity in AndroidManifest.xml.
  32.         int id = item.getItemId();
  33.  
  34.         //noinspection SimplifiableIfStatement
  35.         if (id == R.id.action_settings) {
  36.             return true;
  37.         }
  38.  
  39.         return super.onOptionsItemSelected(item);
  40.     }
  41.  
  42.     public void OnClick_On1(View view) {
  43.  
  44.     }
  45.  
  46.     public void OnClick_On2(View view){
  47.  
  48.     }
  49.  
  50.     public void OnClick_On3(View view){
  51.  
  52.     }
  53.  
  54.  
  55.     public void OnClick_Exit(View view){
  56.         finish();
  57.     }
  58. }

1. методы пишутся с маленькой буквы
2. Урок 9. Обработчики событий на примере Button.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 25 сен 2015, 18:06 
Аватар пользователя

Зарегистрирован: 09 сен 2015, 13:53
Сообщений: 19
Благодарил (а): 1 раз.
Поблагодарили: 5 раз.
Mkay писал(а):
Нашел причину, странноватая она оказалась. Эта строчка оказалась неработающей:
<uses-permission android:name="ANDROID.PERMISSION.RECEIVE_BOOT_COMPLETED" />

Как только я исправил ее на
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
всё сразу заработало.

Странно, подумал я, ведь, можно сказать, я вручную почти и не писал этот permission, а всего лишь начал писать "BOO", потом нажал Enter на первом предложенном варианте, после чего Android Studio (v1.3.1) услужливо дописал за меня "ANDROID.PERMISSION.RECEIVE_BOOT_COMPLETED". Сегодня, когда я, наконец, каким-то чудом нашел причину проблемы, то решил попробовать начать писать не "BOO", а "boo". Строка после нажатия Enter стала выглядеть вот так: "android.permission.RECEIVE_BOOT_COMPLETED". Такие дела. Как обычно, смог проверить на Android 4.0.4 и 4.2.2.
Не знаю, проявляет ли себя эта проблема у кого-нибудь еще, но мне она стоила трех потерянных дней и почти всех волос на заднице.

Mikhail_dev, спасибо за информацию насчет QUICKBOOT_POWERON, буду теперь знать. Такой вопрос вдогонку, может ли ресивер за одну загрузку поймать и BOOT_COMPLETED, и QUICKBOOT_POWERON? Или система при загрузке отсылает что-то одно из этого? То есть, имеет ли смысл что-то предпринимать, чтобы ресивер не выполнил onRecieve() два раза?


это глюк Андроид Студио, у них по этому поводу открыт тикет, но пока что-то не фиксят.
Автодополнение начатое с больших букв дополнняет всю строку большими буквами. Это первый косяк.
А второй это что в манифесте такие имена из одних заглавных валидатор пропускает и не видит, хотя они не валидные.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 31 мар 2018, 10:31 

Зарегистрирован: 31 мар 2018, 10:22
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Привет, спасибо за уроки. Кто нить может помочь, этой мой проект в андройд студии https://yadi.sk/d/vpGbyS0E3Tw3Fv пытаюсь сделать сервис который продолжал работать после закрытия (удаление из памяти) основной программы. Сервис показывает статус батареи. Перепробовал кучу вариантов, но сервис все равно тоже отключается. Нужно чтобы он работал, оставался включенным и если видел что само приложение закрылось его открывал заново. Если можете поправьте мой код


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 30 апр 2018, 22:14 

Зарегистрирован: 30 апр 2018, 22:13
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
похоже, что ктото у когото чтото спёр....
http://developer.alexanderklimov.ru/and ... ervice.php


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу Пред.  1, 2, 3, 4, 5

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB