- Forum-Beiträge: 4
18.08.2011, 22:38:37 via Website
18.08.2011 22:38:37 via Website
ich verwende meine Main Activity um einen Text zu zeichnen. Im Hintergrund läuft ein Service, der auf die Tasten eines Bluetoothgeräts hört.
Wenn ich am Gerät eine Taste betätige - wird ein wert in die Lokale Datenbank geschrieben - dieser soll im MainActivity gezeichnet werden.
Es funktioniert alles, die richtigen Werte wären da, nur fehlt einfach das repaint der Activity ... und ich kann das repaint vom Service nicht aufrufen.
Ich habe es mit einem BroadCastReceiver versucht, glaube hab mich aber etwas vertan ...
----------
Hier ist die Methode im Service "ControllerService"
2>>>>if(zt.getJoystickMoved().x == iWert) {
3>>>>>>>sendOrderedBroadcast(i,null);
4>>>>>>>Log.i("Broadcast","send!");
5>>>>>>>//hier möchte ich die Activity neu zeichnen - der Broadcast wird gesendet, kommt aber nie an
6>>>>}
7>}
Hier ist die Main Activity
2>>>>super.onCreate(savedInstanceState);
3>>>>registerReceiver(resetReceiver, new IntentFilter("my.intent.INTENT_NAME"));
4>}
5
6>public BroadcastReceiver resetReceiver = new BroadcastReceiver() {
7>>>>@Override
8>>>>public void onReceive(Context context, Intent intent) {
9>>>>>>>Log.i("Broadcast", "got Broadcast!");
10>>>>>>>MainActivity.this.cc.invalidate();
11>>>>>>>//cc.invalidate() zeichnet alles neu und aktualisiert somit die neuen Werte
12>>>>>>>//cc ist eine View, die die paint logik beinhaltet
13>>>>>>>this.setResultCode(Activity.RESULT_OK);
14>>>>}
15>}
Der BroadcastReceiver im MainActivity empfängt überhaupt nichts ...
Registrieren kann ich ihn ja auch nicht in der AndroidManifest datei ... da ich ja nur die Methode
verwende - ich glaube ich hab irgendetwas falsch verstanden ...
Ich hoffe jemand kann mir bei diesem Problem helfen
----------
PS: Im Android Manifest ist dieser Code
2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="com.test.countV1"
4 android:versionCode="1"
5 android:versionName="1.0">
6 <uses-sdk android:minSdkVersion="10" />
7 <uses-permission android:name="android.permission.VIBRATE"/>
8 <uses-permission
9 android:name="android.permission.BLUETOOTH" />
10 <uses-permission
11 android:name="android.permission.BLUETOOTH_ADMIN" />
12
13 <application android:icon="@drawable/icon" android:label="@string/app_name" android:name="com.test.data.ListHelper">
14 <activity android:name=".MainActivity"
15 android:label="@string/app_name">
16 <intent-filter>
17 <action android:name="android.intent.action.MAIN" />
18 <action android:name="my.intent.INTENT_NAME"/>
19 <category android:name="android.intent.category.LAUNCHER" />
20 </intent-filter>
21 </activity>
22 <activity android:label="PreferencesActivity" android:name="PreferencesActivity"></activity>
23 <activity android:name="ZtPreferencesActivity" android:label="ZtPreferencesActivity"></activity>
24 <activity android:name="customizePreferences"></activity>
25 <activity android:name="ControllerActivity"></activity>
26 <service android:name="com.test.services.ControllerService"></service>
27 <activity android:name="BatteryActivity"></activity>
28 </application>
29 </manifest>
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.