Экспериментируя с кодом Bluetooth ... Проблемы - PullRequest
1 голос
/ 20 июля 2011

Использование HTC Desire под управлением cyanogenmod 7.03 для отладки некоторого нового кода Android Bluetooth. Я использую проект BluetoothChat, чтобы просто использовать кнопку для первоначального включения / выключения Bluetooth ...

Каждый раз, когда я добавляю что-то, что влияет на адаптер Bluetooth, приложение закрывается

Например mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (!mBluetoothAdapter.isEnabled()) Вызывает закрытие моего приложения

Вот мой полный код из JocActivity.java - моего основного и единственного Java-файла: Многое закомментировано, так как я пробовал разные вещи, но в основном он настроен так, чтобы при нажатии кнопки запрашивался адаптер Bluetooth. я пытаюсь заставить работать Logcat, но пока он мне мало что говорит :( Какие-нибудь советы? Я думаю, что это может показаться, что мой SDK 2.2 совместим, но мой телефон 2.3.3 Я загружаю 2.3.3, но это медленно www.www здесь: (

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 Ответ

1 голос
/ 20 июля 2011

Возможно, вам нужно добавить разрешение Bluetooth в ваш AndroidManifest.xml. Но, пожалуйста, проверьте свою трассировку стека в logcat / ddms.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...