2011-07-19 58 views
1

使用運行cyanogenmod 7.03的HTC Desire調試一些新的android藍牙代碼。 使用BluetoothChat項目只使用一個按鈕,最初開啓/關閉藍牙林...試用藍牙代碼...問題

每次我補充一點,就是影響BluetoothAdapter在應用程序關閉

mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (!mBluetoothAdapter.isEnabled()) 導致我的應用程序關閉

這是我的代碼完全從JocActivity.java - 我的主要和唯一的Java文件: 很多這是註釋掉,因爲我一直在嘗試不同的東西,但它的基本設置,以便當按鈕按下時, Bluetoothadapter被查詢。 即時通訊試圖讓Logcat工作,但它並沒有告訴我很多:( 任何提示? 我認爲這可能是我的SDK是2.2兼容,但我的手機是2.3.3 即時下載2.3.3,但其slowwwwww在這裏:(

package test.joc; 

import android.app.Activity; 
import android.bluetooth.BluetoothAdapter; 
import android.bluetooth.BluetoothDevice; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.Toast; 

public class JocActivity extends Activity implements OnClickListener{ 
    /** Called when the activity is first created. */ 

    // Debugging 
    private static final String TAG = "joc"; 
    private static final boolean D = true; 

    // Intent request codes 
    private static final int REQUEST_CONNECT_DEVICE_SECURE = 1; 
    private static final int REQUEST_CONNECT_DEVICE_INSECURE = 2; 
    private static final int REQUEST_ENABLE_BT = 3; 

    // Local Bluetooth adapter 
    private BluetoothAdapter mBluetoothAdapter = null; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Button button = (Button)findViewById(R.id.button1); 
     button.setOnClickListener(this); 

     // Get local Bluetooth adapter 
     mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 

     // If the adapter is null, then Bluetooth is not supported 
     if (mBluetoothAdapter == null) { 
      Toast.makeText(this, "Bluetooth is not available", Toast.LENGTH_LONG).show(); 
      finish(); 
      return; 
     } 
    } 

    /* @Override 
    public void onStart() { 
     super.onStart(); 
     if(D) Log.e(TAG, "++ ON START ++"); 

     // If BT is not on, request that it be enabled. 
     // setupChat() will then be called during onActivityResult 
     if (!mBluetoothAdapter.isEnabled()) { 
      Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); 
      startActivityForResult(enableIntent, REQUEST_ENABLE_BT); 
     // Otherwise, setup the chat session 
     } else { 
      //if (mChatService == null) setupChat(); 
      Context context = getApplicationContext(); 
      CharSequence text = "Bluetooth enabled!"; 
      int duration = Toast.LENGTH_SHORT; 
      Toast.makeText(context, text, duration).show(); 
     } 
    }*/ 


// Implement the OnClickListener callback 
    public void onClick(View v) { 
     // do something when the button is clicked 
     Context context = getApplicationContext(); 
     int duration = Toast.LENGTH_SHORT; 
     if(D) Log.e(TAG, "++ ON START ++"); 

     //BluetoothAdapter.enable(); 
     //Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); 
     //InstanceOfAnActivity.startActivity(enableIntent); 
     /*Intent btIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); 
     btIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     context.startActivity(btIntent);*/ 

     // If BT is not on, request that it be enabled. 
     // setupChat() will then be called during onActivityResult 
     // Get local Bluetooth adapter 
     mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
     if (!mBluetoothAdapter.isEnabled()) {/* 
      Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); 
      startActivityForResult(enableIntent, REQUEST_ENABLE_BT); 
      Toast.makeText(context, "Bluetooth Enabled", duration).show(); 
     // Otherwise, setup the chat session 
     } else { 
      //if (mChatService == null) setupChat();*/ 
      Toast.makeText(context, "Ready", duration).show(); 
     } 
    } 
} 
+0

有沒有在日誌中的異常和堆棧跟蹤? –

回答

1

你可能需要添加bluetooth permission到AndroidManifest.xml。但是,請檢查您的堆棧跟蹤在logcat中/ DDMS。