Отправка файла через Bluetooth в Android - PullRequest
0 голосов
/ 11 сентября 2018

Цель: мне нужно создать простое приложение для Android, где я могу подключаться к ближайшим устройствам Bluetooth и отправлять им изображения из моей галереи одним нажатием кнопки. Вот то, что у меня есть, и я немного запутался в том, куда идти дальше. (Это мой первый проект в Android, так что будь спокоен со мной).

public class MainActivity extends AppCompatActivity {
    private static final int Discover_duration = 300;
    private static final int request_bluetooth = 1;
    String path;
    private static final int Initial_request = 1337;
    private static final int request_write_storage = Initial_request + 4;
    private BluetoothAdapter mBTA = null;
    Button sendfile_button;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sendfile_button = (Button)findViewById(R.id.sendfile_button);


         mBTA = BluetoothAdapter.getDefaultAdapter();
        if (mBTA == null) {
            Toast.makeText(this, "Bluetooth is not supported on this device", Toast.LENGTH_LONG).show();
        }
        if (!mBTA.isEnabled()) {
            Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
            startActivityForResult(enableBtIntent, request_bluetooth);
        }
        Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
        discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
        startActivity(discoverableIntent);

        mBTA.startDiscovery();

        //Register for Broadcasts when a device is discovered.
        IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
        registerReceiver(mReceiver, filter);

    }

}

private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (BluetoothDevice.ACTION_FOUND.equals(action)) {
                //Bluetooth device has been discovered, retrive its info
                BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                String deviceName = device.getName();
                String deviceHardwareAddress = device.getAddress();
            }
        }
    };

    @override
    protected void onDestroy() {
        super.onDestroy();

        unregisterReceiver(mReceiver);
    }
}
...