2012-04-08 11 views
0

Ich bin neu hier, also entschuldige ich mich, wenn ich etwas schlechtes geschrieben habe Ich habe einen Fehler in meinem Code, der einige aber Gerät finden sollte (in Eclipse sieht es ok aus, aber es zeigt einige Force Quit während ich bin klicken auf die Taste Gerätesuche :(Android - Bluetooth Gerätfehler finden

-Code

package com.moj.test; 

import android.app.Activity; 
import android.bluetooth.BluetoothAdapter; 
import android.bluetooth.BluetoothDevice; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.content.IntentFilter; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 

public class Bluetooth extends Activity{ 

    BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
    private static final int REQUEST_ENABLE_BT = 1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.bluetooth); 
     Button bStart = (Button) findViewById(R.id.btbutton1); 
     Button bFind = (Button) findViewById(R.id.btbutton2); 

     bStart.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       BluetoothStart();  
      } 
     }); 

     bFind.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       // Register the BroadcastReceiver 
       IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); 
       registerReceiver(mReceiver, filter); // Don't forget to unregister during onDestroy 
       mBluetoothAdapter.startDiscovery(); 


      } 
     }); 


    } 


    public void BluetoothStart() { 
     if (mBluetoothAdapter != null) { 
      if (!mBluetoothAdapter.isEnabled()) { 
       //Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); 
       startActivityForResult(new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE), REQUEST_ENABLE_BT); 
      } 
     } 
    } 


    // Create a BroadcastReceiver for ACTION_FOUND 
    private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 
     public void onReceive(Context context, Intent intent) { 
      EditText te = (EditText) findViewById(R.id.editText1); 
      String action = intent.getAction(); 
      // When discovery finds a device 
      if (BluetoothDevice.ACTION_FOUND.equals(action)) { 
       // Get the BluetoothDevice object from the Intent 
       BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 
       // Add the name and address to an array adapter to show in a ListView 
       te.setText(device.getName() + "\n" + device.getAddress()); 
      } 
     } 
    }; 


} 
+1

fügen Sie Ihre Fehler-Stack zu – waqaslam

Antwort

1

Sie kippe dies auf Emulator laufen, weil sie keine Unterstützung für Bluetooth muss. Sie müssen es auf einem realen Gerät testen.

Und Vergessen Sie nicht, Bluetooth-Berechtigungen in das Manifest aufzunehmen.

<manifest ... > 
    <uses-permission android:name="android.permission.BLUETOOTH" /> 
    ... 
</manifest> 
+0

ich diese Berechtigung haben, aber Code funktioniert nicht corretly (Whet I Button geklickt bFIND einige forcequit ausgestrahlte ist) – PatLas

+0

werden Sie es auf Emulator läuft? – waqaslam

+0

nein, ich bin es auf HTC Wildfire S – PatLas