0

Here is my problem/question, probably a nooby one....

I have an activity where the app checks if the bluetooth is switched on, if not it displays a pop-up window with a button to activate it.

when activated there is a button which will search for bluetooth devices.

now my question is how can i pair to the selected device which will be protected with an password, if it is already paired just connect to it (witouth entering the password again)

after connecting to the device it should go to the next page.

Here is my Code

package com.example.silcamanager96x32;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
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.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import android.view.View.OnClickListener;
import android.widget.AdapterView.OnItemClickListener;

public class Bluetooth_check extends Activity {

    //global variables
    private final static int REQUEST_ENABLE_BT = 1;
    private  ArrayAdapter<String> btArrayAdapter;

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

        btn_go();
        btn_scan();

    }

    //tijdelijke button volgende pagina
    public void btn_go(){
        Button btn_go=(Button)findViewById(R.id.Button01);
        btn_go.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                  Log.i("clicks","You Clicked B1");
              Intent i=new Intent(
                     Bluetooth_check.this,
                     home.class);
              startActivity(i);
            }
        });
    }

    //button scannen naar bluetooth apparaten en in ene lijst plaatsen
    public void btn_scan(){
        final Button scanb = (Button)findViewById(R.id.button);
        final ListView Deviceslist = (ListView)findViewById(R.id.listView1);   
        btArrayAdapter = new ArrayAdapter<String>(Bluetooth_check.this, android.R.layout.simple_list_item_1);    
        Deviceslist.setAdapter(btArrayAdapter);

        //vraagt of app bluetooth mag inschakelen
        final BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        if (mBluetoothAdapter == null) {
            // Device does not support Bluetooth
            Toast.makeText(Bluetooth_check.this, "Your device doesnot support Bluetooth", Toast.LENGTH_LONG).show();
        }

        if (!mBluetoothAdapter.isEnabled()) {
            Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
            startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
        }

        //onclick scan button
        scanb.setOnClickListener(new OnClickListener()
        {
         public void onClick(View v)
            {
          btArrayAdapter.clear(); 
          mBluetoothAdapter.startDiscovery();
          Toast.makeText(Bluetooth_check.this, "Scanning Devices", Toast.LENGTH_LONG).show();

            }
        });

         Deviceslist.setOnItemClickListener( new OnItemClickListener() {

            public void onItemClick(AdapterView<?> arg0, View v, int position,
                    long id) {
                // onclick item gevonden apparaten

                     AlertDialog.Builder adb = new AlertDialog.Builder(
                     Bluetooth_check.this);
                     adb.setTitle("ListView OnClick");
                     adb.setMessage("Selected Item is = "
                     + Deviceslist.getItemAtPosition(position));
                     adb.setPositiveButton("Ok", null);
                     adb.show();                     
                                 }

         });

        registerReceiver(FoundReceiver, new IntentFilter(BluetoothDevice.ACTION_FOUND));
    }

    @Override
    protected void onDestroy() { 
    // TODO Auto-generated method stub 
    super.onDestroy();
    unregisterReceiver(FoundReceiver);
    }

    private final BroadcastReceiver FoundReceiver = new BroadcastReceiver(){ 
     @Override
     public void onReceive(Context context, Intent intent) { 
      // TODO Auto-generated method stub 
      String action = intent.getAction();  
      if(BluetoothDevice.ACTION_FOUND.equals(action)) {   
       BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
       btArrayAdapter.add(device.getName() + "\n" + device.getAddress());
       btArrayAdapter.notifyDataSetChanged();          
      }
  }};


}

1 Answers1

0

try this link here is whole code ...Android + Pair devices via bluetooth programmatically and add permission to manifest

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
Community
  • 1
  • 1
Anjali Tripathi
  • 1,477
  • 9
  • 28