Цель: мне нужно создать простое приложение для 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);
}
}