1

我是 android 开发的新手。我正在开发一个应用程序,首先,我有一个主要活动,我必须打开/关闭蓝牙,使其可发现,搜索设备并连接到它们。

在此之后,我会去其他活动,在那里我有一个带有编辑文本和发送按钮的文本视图,我可以在其中写一些东西并发送它。

我已经完成了所有蓝牙启用/禁用的工作,但现在我需要连接到新发现的设备,然后进入聊天类型活动并发送。

我现在这几乎是一项工作,但如果你能给我一个如何做到这一点的例子,那就太好了。这是我的代码:

public class BTActivity extends Activity {

// Intent request codes
private static final int REQUEST_DISCOVERABLE_BT = 0;
private static final int REQUEST_CONNECT_DEVICE = 1;
private static final int REQUEST_ENABLE_BT = 2;

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

// Name of the connected device
public static String mConnectedDeviceName = null;

// Array adapter for device list
private ArrayAdapter<String> mArrayAdapter;

// Local Bluetooth adapter
private BluetoothAdapter mBluetoothAdapter = null;





@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);     
    setContentView(R.layout.main);


    final Button button1 = (Button) findViewById(R.id.boton1);
    final Button button2 = (Button) findViewById(R.id.boton2);
    final Button button3 = (Button) findViewById(R.id.boton3);
    final Button button4 = (Button) findViewById(R.id.boton4);
    final Button button5 = (Button) findViewById(R.id.boton5);


    button5.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {
            lanzarComunicacion (null);
        }
    });



    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

    if (mBluetoothAdapter == null) {          
        Toast.makeText(this, "Bluetooth is not available", Toast.LENGTH_LONG).show();
        finish();
        return;   
    }   




    button3.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) { 

            if (!mBluetoothAdapter.isEnabled()) {


                Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);           
                startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);   
            }

        }
    });


    button2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            //LLAMA A LA DIALOG ACTIVITY PARA VISUALIZAR LOS DISPOSITIVOS
            LanzarBusqueda(null);

        }
    });





    button1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) { 


            if (!mBluetoothAdapter.isDiscovering()) {                         
                Context context = getApplicationContext();                            
                CharSequence text = "MAKING YOUR DEVICE DISCOVERABLE";                        
                int duration = Toast.LENGTH_SHORT;            

                Toast toast = Toast.makeText(context, text, duration);                        
                toast.show(); 

                Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);         
                discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);

                startActivity(discoverableIntent);
            }                   
        }
    });


    button4.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            mBluetoothAdapter.disable();

            Context context = getApplicationContext();                        
            CharSequence text = "TURNING_OFF BLUETOOTH";                          
            int duration = Toast.LENGTH_LONG;               

            Toast toast = Toast.makeText(context, text, 15);                              
            toast.show();

        }
    }); 
}



public void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {
    case REQUEST_CONNECT_DEVICE:
        if (resultCode == Activity.RESULT_OK) {
            connectDevice(data);
        }
    }
}



private void connectDevice(Intent data) {
    String address = data.getExtras().getString(DeviceListDialog.EXTRA_DEVICE_ADDRESS);
    BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);
    BTCommunication.mChatService.connect(device);
}



@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.bt, menu);
    return true;
}


public void lanzarComunicacion (View view) {
    Intent i = new Intent(this, BTCommunication.class);
    startActivity(i);
}

public void LanzarBusqueda (View view) {
    Intent i = new Intent(this, DeviceListDialog.class);
    startActivity(i);
}

}

4

0 回答 0