2012-04-08 3 views
0

Я новичок здесь, поэтому приношу свои извинения, если я что-то написал Я получил некоторую ошибку в своем коде, который должен найти какое-то устройство, но устройство (в Eclipse это выглядит нормально, но в нем отображается команда Force Quit, в то время как я «м, нажав кнопку Найти устройства :(Android - Bluetooth найти ошибку устройства

код

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

вставить ваш стек ошибок слишком – waqaslam

ответ

1

вы не можете запустить это на эмуляторе, потому что он не имеет поддержку Bluetooth. Вам необходимо проверить его на реальном устройстве.

И делать не забудьте включить разрешение Bluetooth в манифест.

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

я получил это разрешение, но код не работает corretly (цикловой кнопку я нажал bFind некоторые ForceQuit является emmited) – PatLas

+0

вы используете его на эмуляторе? – waqaslam

+0

нет, я запускаю его на HTC Wildfire S – PatLas

Смежные вопросы