Android Tutorials

  • Antworten:13
Gelöschter Account
  • Forum-Beiträge: 7

01.02.2011, 17:59:12 via Website

Danke.Werds mir mal durchschauen....

Antworten
L3322
  • Forum-Beiträge: 467

05.02.2011, 08:04:13 via App

immer her damit

"Hard work beats talent, when talent fails to work hard"

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

06.02.2011, 23:31:28 via App

Kommunikation zwischen laufendem Service und frischem Broadcastreceiver (Receiver sendet Daten an Service) :grin: Ja, das hätte ich jetzt gerne :) Vielleicht sollte ich aber eher googlen oder hier nen Thread öffnen?
Lg Ansgar

Antworten
Dominic Bartl
  • Forum-Beiträge: 180

06.02.2011, 23:35:23 via Website

Ich denke nicht, dass ein BroadcastReceiver auch senden kann man kann von einer Activity und von einem Service einen Broadcast senden. Der Receiver (Empfänger) empfängt nur =)

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

06.02.2011, 23:39:11 via App

Ok, macht einerseits Sinn, andererseits muss der Broadcastreceiver (zb für SMS-Empfang) ja auch irgendwie Aktionen auslösen, deswegen hätte ich gehofft, dass er sich auch bei einem laufendem Service 'melden' kann.. Naja, werd nochmal ein bisel googlen.
Lg Ansgar

Antworten
Dominic Bartl
  • Forum-Beiträge: 180

06.02.2011, 23:40:58 via Website

Du kannst generell den Service auf diese Broadcasts höhren lassen, dass sozusagen der Service der BroadcastReceiver ist.

Antworten
Dominic Bartl
  • Forum-Beiträge: 180

06.02.2011, 23:43:29 via Website

Ich denke so ca: (habs nicht getestet)
1<service
2 android:name=".BootService">
3
4 <receiver
5 android:name=".receiver.BootReceiver">
6 <intent-filter>
7 <action
8 android:name="android.intent.action.BOOT_COMPLETED" />
9 </intent-filter>
10 </receiver>
11</service>

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

06.02.2011, 23:46:01 via App

Ah,
danke! Dann nehm' ich einmal so ein Tutorial und ne kalte Cola :grin: (Natürlich nur, wenn du Spaß an dem Thema hast)
Lg Ansgar
edit: Verdammt bist du schnell :)

— geändert am 06.02.2011, 23:46:44

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

07.02.2011, 00:05:57 via App

Also ich brauche eine einzelne aktuelle GPS-Position. Vielleicht kann man das auch anders machen, aber ich habs halt erstmal so versucht. Und der request für die Ortung wird halt aus einem Service gestartet und nun soll (bei Erhalt der Position) der Service benachrichtigt werden, dass er die Locationupdates abbricht. Ich dachte, dass ich so eine einzelne aktuelle Position bekomme :) Ich vermute schon, dass das besser geht, aber wie? (erst ab 2.3 gibt es 'requestSingleLocationUpdate' leider :( )
Lg Ansgar

— geändert am 07.02.2011, 00:06:35

Antworten
Dominic Bartl
  • Forum-Beiträge: 180

07.02.2011, 00:18:25 via Website

Das kannst du direkt in deinem Service machen :D

Zuerst implementierst du in deinen Service LocationListener.

dann hast du die 3 Methoden:
  • onLocationChanged
  • onProviderDisabled (gps ist deaktiviert)
  • onProviderEnabled (gps ist aktiviert)
  • onStatusChanged (wenn der user das gps ab oder aufdreht)

dann machst du dir noch 2 Methoden:
1private void registerLocationListener() {
2 // Register LocationManager
3 locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
4
5 try {
6 locationManager.requestLocationUpdates("gps", 0, 0, LocationActivity.this);
7 Log.i("Altitude", "LocationListener is now registered. Evering should work fine!");
8 } catch (final RuntimeException e) {
9 Log.e("Altitude", "Could not register location Listener: " + e.getMessage(), e);
10 }
11 }
12
13 private void unregisterLocationListener() {
14 if (locationManager != null) {
15 locationManager.removeUpdates(this);
16 locationManager = null;
17 }
18 }

Du musst dir oben ein Obejkt von LocationManager erstellen. Und rufst im onStart (glaube ich) registerLocationListener() auf
in der onLocationChanged schreibst du dann folgendes rein :
1if (location.getProvider().equals("gps")) {
2 if (location != null) {
3 //Location gefunden, TODO: tu das was du mit der location machen willst
4
5 unregisterLocationListener();
6 }
7 }

Wenn er dann einmal eine Position gefunden hat, höhrt er auf zu empfangen. :D

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

07.02.2011, 00:32:44 via App

Wow, danke! Ich muss wohl endlich mal mein Java Buch weiter lesen ;D Jetzt schön Superbowl :grin: Nacht!
Lg Ansgar

Antworten