- Forum-Beiträge: 7
18.08.2020, 10:22:33 via Website
18.08.2020 10:22:33 via Website
Da dies mein erster Thread ist erstmal ein "Hallo " von mir an alle
Ich versuche mich seit kurzem (wieder erneut) an dem Entwickeln von Android- Apps.
Leider komme ich an einer Stelle nicht weiter..
Wie in der Android -Doku und unzähligen Tutorials beschrieben möchte ich umgebende
Bluetooth - Geräte über startDiscovery() ermitteln - leider ohne Erfolg.
Der Code sieht wie folgt aus :
MANIFEST :
uses-permission android:name="android.permission.BLUETOOTH
uses-permission android:name="android.permission.BLUETOOTH_ADMIN
uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION
uses-permission android:name="android.permission.ACCESS_FINE_LOCATION
CLASS :
public class MainActivity extends AppCompatActivity {
ListView scanListView;
Button scanButton;
ArrayList<String> stringArrayList = new ArrayList<String>();
ArrayAdapter<String> arrayAdapter ;
BluetoothAdapter myAdapter = BluetoothAdapter.getDefaultAdapter();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
scanButton = (Button)findViewById(R.id.button);
scanListView = (ListView) findViewById(R.id.listView);
scanButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
boolean b = myAdapter.startDiscovery();
Log.d("scann:", b + "");
}
});
IntentFilter intentFilter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(myReceiver,intentFilter);
arrayAdapter = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_list_item_1,stringArrayList);
scanListView.setAdapter(arrayAdapter);
}
//outside of create
BroadcastReceiver myReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.d("HIER","ANGEKOMMEN");
if(BluetoothDevice.ACTION_FOUND.equals(action)){
BluetoothDevice device = i ntent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
stringArrayList.add(device.getName());
arrayAdapter.notifyDataSetChanged();
}
}
};
}
startDiscovery() returnt "false" , der Log.d wird nicht erreicht und es baut sich auch keine Liste auf.
Dies war der mittlerweile 3.Versuch - leider ohne Erfolg. Vielleicht hat ja einer von euch eine Idee.
Im Groben möchte ich am Ende angezeigt kriegen mit welchen Geräten ich verbunden bin und mich ggf. verbinden. Falls noch jemand einen Tipp hat, wie ich mir anzeigen lassen kann mit welchenm Geräten ich verbunden ( nicht gekoppelt ) bin , wäre es echt super
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.