Wij werken momenteel aan een nieuw forum voor Androidworld. Het is daarom momenteel niet mogelijk om te reageren of nieuwe topics aan te maken.
Gebruik je de emulator?
Zo ja, test het eens met je telefoon, want ik denk dat de emulator geen bluetooth ondersteunt.
En de Android Developers website geeft aan dat als je checkt voor
bluetooth.isEnabled();
Ik heb vandaag de fout na lang zoeken weten te vinden. Ik had de permission bluetooth aangemaakt. Maar toen ik in de manifest.xml ging kijken stond er:
<permission android:name=“android.permission.BLUETOOTH” />
Dit leek goed, maar na verder kijken kwam ik er achter dat het moest zijn:
<uses-permission android:name=“android.permission.BLUETOOTH” />
Dus simpel het woordje uses toevoegen
Ik ben een test app aan het schrijven, om een serieele verbinding op te zetten via bluetooth. Maar zodra ik even wil checken of mijn bluetooth adapter ge-enabled is crashed de app meteen. Ik heb werkelijk geen idee meer wat er fout gaat. Mijn code is:
package com.example.bluetooth.test.app;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Set;
import java.util.UUID;
import android.R.string;
import android.os.Bundle;
import android.app.Activity;
import android.bluetooth.BluetoothClass;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.support.v4.app.NavUtils;
public class MainActivity extends Activity
{
Button mBtnBluetooth;
TextView textviewTest;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mBtnBluetooth = (Button) findViewById(R.id.mBtnBluetooth);
textviewTest = (TextView) findViewById(R.id.textViewTest);
}
public void SendViaBluetooth(View view)
{
if (view == mBtnBluetooth)
{
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter();
if (bluetooth == null)
{
Toast.makeText(this, “Geen bluetooth adapter beschikbaar”, Toast.LENGTH_LONG).show();
finish();
}
if (!bluetooth.isEnabled())
{
Toast.makeText(this, “Bluetooth is uitgeschakeld”, Toast.LENGTH_LONG).show();
}
final UUID SERIAL_UUID = UUID.fromString(“00001101-0000-1000-8000-00805F9B34FB”);//UUID voor serial connection
String mac = “00:15:83:00:ef:66”; // remote mac adres
BluetoothDevice device = bluetooth.getRemoteDevice(mac); // mac adres, apparaat moet al gekoppeld zijn
BluetoothSocket socket = null;
OutputStream out = null;
try
{
socket = device.createRfcommSocketToServiceRecord(SERIAL_UUID);
}
catch (IOException e) {}
try
{
socket.connect();
out = socket.getOutputStream();
out.write(0x01); //schrijven via virtuele com poort
}
catch (IOException e) {}
}
}
}
Using permission: android.permission.BLUETOOTH
Als ik alle code vanaf hier afster, dan gaat het goed (wel logisch):
if (!bluetooth.isEnabled())
{
Toast.makeText(this, “Bluetooth is uitgeschakeld”, Toast.LENGTH_LONG).show();
}
Maar zodra ik deze regel toevoeg gaat het mis: if (!bluetooth.isEnabled())
Ik mag dus niet vragen of de bluetooth adapter is ingeschakeld. Maar als ik een ander stukje code probeer dat gebruikt maakt van bluetooth crashed de boel ook meteen. Heeft iemand een idee?