Android的 - 蓝牙设备发现错误

问题描述:

我是新来的,所以我很抱歉,如果我写的东西不好 我在我的代码中的一些错误应该找一些,但设备(在Eclipse中它看起来不错,但它显示了一些力量,而我退出“M点击按钮查找设备:(Android的 - 蓝牙设备发现错误

代码

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 2012-04-08 10:38:11

你不能在模拟器上运行,是因为它没有支持蓝牙,你需要测试它在真实设备上。

和不要忘记在清单中包含蓝牙许可。

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

我有这个权限,但代码不corretly工作(磨我按下按钮bFind一些ForceQuit是emmited) – PatLas 2012-04-08 11:09:13

+0

你在模拟器中运行呢? – waqaslam 2012-04-08 11:23:28

+0

没有,我'上运行它HTC野火S – PatLas 2012-04-08 12:01:06