Intereting Posts
Значения-21, значения-22 или значения-xx исчезли после Android Studio 1.0 Нужен пример HttpResponseCache в Android Дополнительное push-уведомление, отправленное на устройство Android Просмотр не может быть привязан к родительскому координаторуLayout IsolatedContext против AndroidTestCase.getContext () Автоматическое вращение камеры до 90 градусов Переход на главный экран программно Могу ли я одновременно открыть как Wi-Fi, так и сотовые сетевые интерфейсы на Android? Android – Как вы имеете дело с 9774d56d682e549c? Android ID Сколько максимальных устройств мы можем подключить через Bluetooth к устройству Android за раз? Как создать панель инструментов (например, вторичную панель действий) в Android? Как отключить синюю линию в ActionBar (ActionBarSherlock)? Неопределенная ссылка на `__android_log_print ' FragmentActivity не может быть протестирован через ActivityInstrumentationTestCase2 Каков правильный способ вставить дату рождения в контактную информацию?

StartService из класса, который не расширяет действие

Я создал класс, который расширяет IntentService, и я хотел бы запустить службу из класса, который не является Activity, поэтому у меня нет доступа к объекту Context. Я не мог найти пример этого в документации или в Интернете. Является ли это возможным ?

Solutions Collecting From Web of "StartService из класса, который не расширяет действие"

Вам нужно будет передать текущий контекст активности в класс non Activity для запуска службы из класса неактивности следующим образом:

public class NonActivity { public Context context; public NonActivity(Context context) this.context=context; } public void startServicefromNonActivity(){ Intent intent=new Intent(context,yourIntentService.class); context.startService(intent); } 

И передать текущий контекст как:

 public class AppActivity extends Activity { NonActivity nonactiityobj; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); nonactiityobj=new NonActivity(CuttentActivity.this); //start service here nonactiityobj.startServicefromNonActivity(); } } 

Использовать этот код. Начать и остановить службу.

 public class MyService { Context context ; public MyService(Context cont) { this.context = context ; } public void StartMyService() { Intent i = new Intent(context,YourService.class); context.startService(i); } public void StopMyService() { Intent i = new Intent(context,YourService.class); context.stopService(i); } } 

Это просто создает объект этого класса

  MyService mySevice ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myService = new MyService(this); //For Startting Service myService.StartMyService(); //For Stopping Service myService.StopMyService(); }