Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.alex.returnzero;
- import android.Manifest;
- import android.bluetooth.BluetoothAdapter;
- import android.bluetooth.BluetoothDevice;
- import android.bluetooth.BluetoothSocket;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.graphics.Color;
- import android.graphics.PorterDuff;
- import android.graphics.drawable.Drawable;
- import android.graphics.drawable.StateListDrawable;
- import android.media.AudioRecord;
- import android.media.MediaPlayer;
- import android.support.v4.app.ActivityCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Pair;
- import android.view.MotionEvent;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.ImageButton;
- import android.widget.ListView;
- import android.widget.Toast;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Set;
- import java.util.UUID;
- public class MainActivity extends AppCompatActivity {
- ImageButton one, many;
- ImageButton connect, disconnect;
- boolean broadcasting ;
- private BluetoothAdapter bluetoothAdapter;
- private ArrayList<String> mDeviceList = new ArrayList<String>();
- private static final UUID MY_UUID = UUID.fromString("0000110E-0000-1000-8000-00805F9B34FB");
- ListView listView;
- boolean isConnected = false;
- BluetoothConnector bluetoothConnector = null;
- AudioInput audioInput = null;
- private static int BufferElements2Rec = 1024;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- int MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION = 1;
- ActivityCompat.requestPermissions(this,
- new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.RECORD_AUDIO },
- MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION);
- setContentView(R.layout.activity_main);
- broadcasting = false;
- many = findViewById(R.id.button);
- bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
- Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
- many.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(MainActivity.this, OneToMany.class);
- startActivity(intent);
- }
- });
- one = findViewById(R.id.button2);
- one.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(MainActivity.this, OneToOne.class);
- startActivity(intent);
- }
- });
- connect = findViewById(R.id.connect);
- connect.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if(!broadcasting)
- {
- if (bluetoothConnector != null) {
- AudioInputFactory audioInputFactory = new AudioInputFactory();
- AudioRecord audioRecord = audioInputFactory.findAudioRecord();
- audioInput = new AudioInput(audioRecord);
- audioInput.setBluetoothConnector(bluetoothConnector);
- try {
- audioInput.start();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- Toast.makeText(MainActivity.this,
- "Connected to network", Toast.LENGTH_LONG).show();
- broadcasting = true;
- // audioPlayer();
- }
- }
- });
- disconnect = findViewById(R.id.disconnect);
- disconnect.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v)
- {
- if(broadcasting)
- {
- Toast.makeText(MainActivity.this,
- "Disconnected from network", Toast.LENGTH_LONG).show();
- broadcasting = false;
- if (bluetoothConnector != null) {
- try {
- bluetoothConnector.read(BufferElements2Rec);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- Toast.makeText(MainActivity.this,
- "Connected to network", Toast.LENGTH_LONG).show();
- broadcasting = true;
- }
- }
- });
- bluetoothAdapter.startDiscovery();
- listView = (ListView) findViewById(R.id.listView);
- for(BluetoothDevice bt : pairedDevices) {
- if (bt.getName() != null && bt.getName().contains("HMI"))
- mDeviceList.add(bt.getName() + "\n" + bt.getAddress());
- listView.setAdapter(new ArrayAdapter<String>(this,
- android.R.layout.simple_list_item_1, mDeviceList));
- //listView.getItemAtPosition(mDeviceList.size()-1)
- }
- listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
- String data=(String)adapterView.getItemAtPosition(i);
- String address = data.substring(data.length()-17);
- System.out.println(address);
- BluetoothDevice connect_device = bluetoothAdapter.getRemoteDevice(address);
- bluetoothConnector = new BluetoothConnector(connect_device, false, bluetoothAdapter, null);
- try {
- bluetoothConnector.connect();
- bluetoothConnector.write("start".getBytes(), 4);
- isConnected = true;
- //
- // BluetoothSocket bluetoothSocket = bluetoothConnector.getBluetoothSocket();
- // bluetoothSocket.connect();
- // new MainActivity1.clientSock().start();
- } catch (IOException e) {
- isConnected = false;
- e.printStackTrace();
- }
- }
- });
- IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
- registerReceiver(mReceiver, filter);
- }
- private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (BluetoothDevice.ACTION_FOUND.equals(action)) {
- BluetoothDevice device = intent
- .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
- if (device.getName() != null && device.getName().contains("HMI"))
- mDeviceList.add(device.getName() + "\n" + device.getAddress());
- System.out.println("BT" + device.getName() + "\n" + device.getAddress());
- //boolean add = uuids.add(new Pair(device.getAddress(), device.getUuids()));
- listView.setAdapter(new ArrayAdapter<String>(context,
- android.R.layout.simple_list_item_1, mDeviceList));
- }
- }
- };
- public void audioPlayer() {
- MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.muzica);
- mp.start();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement