Java Android App - Bluetooth verwenden - Handler exception

palaber

Captain
Registriert
Juni 2006
Beiträge
3.856
Hi hallo,

ich versuch mich gerade mal an ner Android App. Irgendwann will ich mal von nem PC Nachrichten an mein Smartphone schicken. Aber erstmal muss ich es hin bekommen BT überhaupt zu verbinden. Und da is jetzt mein Problem. Ich bin totaler Android anfänger und Java Grundlagenkenner, aber jetzt steck ich fest.

Ich hänge momentan dabei nach Geräten zu suchen. Wenn es kein BT Gerät in Reichweite gibt, alles ok, wenn es aber eins gibt dann chrasht es. Anbei LogCat:
Logcat_130924.GIF

Scheint ja irgendwie nen Problem damit zu haben die gefunden Devices in den ArrayAdapter rein zu schreiben.
Aber bisher is mir kein Lösung eingefallen. NullPointerException, aber irgendwas hab ich da halt noch nicht verstanden...

Zusätzlich noch der Code und noch nen apkreceiverdispatcher?!?
Code:
/**innere Klasse für den Broadcast Receiver
     * wenn Geräte gefunden schreibe diese in Array**/
    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            // wenn durch die Suche ein Gerät gefunden wurde
            if (BluetoothDevice.ACTION_FOUND.equals(action)) {
            	Log.d(TAG, "ACTION_FOUND");
               // das Bluetooth-Gerät aus dem Intent holen
               BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
               Log.d(TAG, "EXTRA von Intent holen");
               // Hinzufügen des Namens und der Adresse in ein Array
               btGeraeteListe.add(device);
               Log.d(TAG, "Device in Array schreiben");
               mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
               Log.d(TAG, "in ArrayAdapter schreiben");

                
               Toast.makeText(ChronosActivity.this, "Gerät(e) gefunden", Toast.LENGTH_SHORT).show();
            }
            else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)){
            			Log.d(TAG, "Discovery_Finished");
            			Toast.makeText(ChronosActivity.this, "Server nicht gefunden" , Toast.LENGTH_LONG).show();          	              
            }
        }
    };

apkreceiverdispatcher.GIF
 
Entspricht Zeile 111 deiner Zeile 15 des hier geposteten Codes?

Hast du an die Permissions
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

im Manifest gedacht?
 
Zeile 1 ist Zeile 106 im Code - Zeile 15 is dann Zeile 120.
Ja die Permissions habe ich gesetzt! Bluetooth aktivieren geht auch schon mal.

Müssen die uses permissions in den Tag <permission> </permission>?
Hab die mit dem Editor angelegt und die stehen unter <uses-sdk....

Oder macht das keinen Unterschied?

Edit:
Das mit der Permission hat sich geklärt ;)
 
Zuletzt bearbeitet:
Zurück
Oben