| |||||||
Das Thema "Service binden - onBind() wird nicht aufgerufen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 12.06.2011
Beiträge: 14
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
| ich habe einen kleinen Service geschrieben, den ich über eine Activity aufrufen möchte. Code in der Activity: Code: Intent intent = new Intent(this, ConnectionService.class);
mConnection = createServiceConnection();
if(!mBound){
Log.i(LoginActivity.class.getName(), "Binde Service");
bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
}
Log.i(LoginActivity.class.getName(), "mService is " + mService); Code: ServiceConnection mConnection =
new ServiceConnection(){
public void onServiceConnected(ComponentName className, IBinder service) {
Log.i(LoginActivity.class.getName(), "Service connected");
LocalBinder<ConnectionService> binder = (LocalBinder<ConnectionService>) service;
mService = binder.getService();
mBound = true;
}
public void onServiceDisconnected(ComponentName className) {
Log.i(LoginActivity.class.getName(), "Service disconnected");
mBound = false;
}
};
return mConnection; http://www.ozdroid.com/#!BLOG/2010/12/19/How_to_make_a_local_Service_and_bind_to_it_in_Andr oid Im ConnectionService habe ich dann diese Methode Code: public IBinder onBind(Intent arg0) {
Log.i(ConnectionService.class.getName(), "Erzeuge Binder");
return new LocalBinder<ConnectionService>(this);
} In der Manifest-Datei ist der Service hinterlegt. Target ist Android 1.5 Woran kann das liegen? |
| | |
| | #2 (permalink) |
| Neuer Benutzer Registriert seit: 12.06.2011
Beiträge: 14
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
|
Ok das Thema hat sich geklärt :-D Das Problem war, dass ich davon ausgegangen bin, dass die Methode bindService erst beendet ist, wenn der Service korrekt angebunden ist. Daher führe ich im späteren Codeabschnitt direkt eine Anweisung auf den Server aus. Da das aber nicht der Fall ist, wird hier eine NullPointerException geworfen. Ich erzeuge nun den Service direkt in der onCreate() Methode und nicht erst im späteren Verlauf. Damit ist dann sichergestellt, dass der Service später schon existiert. |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Service-Run-Checker: Läuft Service oder nicht? | sem_thesis | Android App Entwicklung | 1 | 11.06.2011 21:47 |
| onConfigurationChanged wird nicht immer aufgerufen | paulinchen | Android App Entwicklung | 1 | 14.04.2011 11:02 |
| Verschiedene aidl interfaces beim onBind zurückgeben | dereulenspiegel | Android App Entwicklung | 0 | 21.12.2009 15:15 |
| onCreateDialog wird nicht immer aufgerufen | RED-BARON | Android App Entwicklung | 3 | 18.12.2009 10:19 |
| Binden von 2 Services | Memex | Android App Entwicklung | 0 | 12.11.2009 15:18 |