试验蓝牙代码...问题

时间:2011-07-19 22:54:56

标签: android bluetooth

使用运行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();
        }   
    }
}

1 个答案:

答案 0 :(得分:1)

您可能需要将bluetooth permission添加到AndroidManifest.xml。但是,请在logcat / ddms中检查您的堆栈跟踪。