Intereting Posts
StaleDataException с диалогом Android SQLite выберите * из таблицы, где имя, например,% key%, с помощью подготовленных операторов Загрузите картинку Android в React Native Android – Трубка, встроенная в Инструменты разработчика – значение «Показывать использование процессора» означает? Как сделать phonegap window.location.href не запускать Chrome на Android Как анализировать значение в атрибуте в разборе xml ShouldOverrideUrlLoading в WebView для Android не работает Активность просочилась в окно com.android.internal.policy.impl.PhoneWindow$DecorView@46029dd0 Кнопка Intellij android project setup – кнопка запуска отключена Как указать adUnitId программно для AdMob? Воспроизведение предварительно записанного звука в голосовой вызов Невозможно использовать FakeHttpLayer Robolectric (NullPointerException при вызове getFakeHttpLayer) Множественные фильтры для расширения файлов / миметиков с одним действием Что происходит с Activity.finish (), когда AsyncTask все еще работает в фоновом режиме? Где я могу найти статистику по распределению Android (количество устройств) с помощью процессора?

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(); }