У меня есть настройка, в которой BroadcastReceiver получает намерение, которое может быть предназначено для запуска службы или действия. Есть ли какая-то возможность проверить намерение и решить, следует ли начинать активацию или запускать службу с ней? Назначения служб будут ясными и будут инициализированы именем службы.Запуск startActivity/startService путем проверки намерения
0
A
ответ
1
Если у вас есть доступ к коду, который запускает намерение, вы можете использовать putExtra()
, чтобы добавить переменную в ваше намерение, которое вы позже проверите в своем методе BroadcastReceiver onReceive()
. Что-то вроде:
//Intent to start an Activity
Intent i = new Intent(this, MyActivity.class);
String start = "Activity";
i.putExtra("from", start);
//Intent to start a Service
Intent i = new Intent(this, MyService.class);
String start = "Service";
i.putExtra("from", start);
Таким образом, в методе onReceive()
, вам необходимо проверить значение строки и, таким образом, чтобы определить происхождение и назначение намерения:
@Override
public void onReceive(Context context, Intent intent) {
String start = intent.getStringExtra("from");
switch(start){
case "Activity":
//Start activity
break;
case "Service":
//Start service
break;
}
}
Смежные вопросы
- 1. Запуск намерения без контекста
- 2. Запуск намерения от BroadcastReceiver?
- 3. SpeechToText и запуск намерения ACTION_CHECK_TTS_DATA
- 4. Запуск нового намерения в android
- 5. Android, запуск намерения через webview
- 6. Запуск намерения не найден Активность
- 7. Android: ошибка проверки фильтра намерения
- 8. Запуск WPF путем создания AppDomain
- 9. Запуск Намерения от службы вызывает аварию
- 10. Запуск намерения внутри метода выполняется через отражение
- 11. Запуск файла с помощью ACTION_VIEW Намерения Действия
- 12. Запуск Android намерения из браузера с статистов
- 13. Запуск Намерения с URL-адреса не работает
- 14. Запуск музыкального плеера Android с использованием намерения
- 15. Android: запуск намерения внутри onListItemClick Runtime Error
- 16. Запуск моего приложения с использованием намерения URI
- 17. Запуск приложения не работает с фильтром намерения
- 18. Запуск нового намерения с адаптера настолько медленный?
- 19. Запуск намерения нажать на MarkerInfoWindow с osmbonuspack
- 20. Запуск приложения Instagram с использованием намерения
- 21. Запуск Media Player с использованием намерения
- 22. Повторное запуск текущей активности с использованием намерения
- 23. Запуск намерения для файла и MIME-типа?
- 24. Запуск проверки работоспособности Oracle для проверки диапазона
- 25. изменить текущую вкладку после вызова tabactivity путем намерения
- 26. Запуск java-программы путем рассмотрения зависимостей импорта
- 27. Запуск и остановка AJAX путем выбора переключателей
- 28. Запуск приложения из терминала с путем
- 29. Запуск приложения Spring путем слияния файлов yml
- 30. запуск Android-сервиса с использованием явного против неявного намерения
решать в зависимости от того, что? Вы проверяете свой собственный «Намерение» или системный? Вы можете проверить компонент через 'getComponent' для явных намерений –