Я пытаюсь связать службу, но onBind()
всегда возвращает false.OnBind() on service всегда возвращает False - Android
Это код ServiceConnection
-
private ServiceConnection mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder service) {
// This is called when the connection with our service has been established,
// giving us the service object we can use to interact with our service.
mBoundService = ((ScheduleService.ServiceBinder) service).getService();
}
public void onServiceDisconnected(ComponentName className) {
mBoundService = null;
}
};
Это вызов bindService()
-
boolean test = getApplicationContext().bindService(new Intent(this, ScheduleService.class), mConnection, Context.BIND_AUTO_CREATE);
Это заявление службы в манифесте -
<service android:name=".Notifications.ScheduleService" android:enabled="true"/>
Я прочитал предыдущие вопросы по теме и не смог найти ans wer (попробовал переключение контекста Activity с контекстом приложения, но это не помогло).
Я использую Frgments и ActionBarSherlock, а моя активность расширяет SlidingFragmentActivity
(Вот почему я использую контекст приложения, что не помогает).
Edit - Это код службы я пытаюсь начать -
public class ScheduleService extends Service {
/**
* Class for clients to access
*/
public class ServiceBinder extends Binder {
public ScheduleService getService() {
return ScheduleService.this;
}
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i("ScheduleService", "Received start id " + startId + ": " + intent);
// We want this service to continue running until it is explicitly stopped, so return sticky.
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
// This is the object that receives interactions from clients. See
private final IBinder mBinder = new ServiceBinder();
/**
* Show an alarm for a certain date when the alarm is called it will pop up a notification
*/
public void setAlarm(Calendar c) {
// This starts a new thread to set the alarm
// You want to push off your tasks onto a new thread to free up the UI to carry on responding
new AlarmTask(this, c).run();
}
}
Любая помощь будет оценена. Благодарю.
Я думаю, вы должны удалить .Notifications в манифесте. –
Опубликуйте свой код реализации службы. – yorkw
Я редактировал вопрос с реализацией. – Tofira