【发布时间】:2023-04-10 20:51:09
【问题描述】:
我需要一种方法将两个文件从一部基于 Android 的手机发送到另一部手机,然后在收到这些文件后做一些事情。 在第一部手机服务器中,为了简单起见,我使用了 ACTION_SEND Intent,因此我不必管理蓝牙连接、发现新设备和管理配对设备。有用! (这里是代码)
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, files);
intent.setPackage("com.android.bluetooth");
intent.setType("image/jpeg");
startActivity(Intent.createChooser(intent, "Send Files"));
在客户端电话中,出于同样的原因,我使用 ACTON_DISCOVERABLE Intent,
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 120);
startActivity(discoverableIntent);
它又可以工作了,我收到了这两个文件,但问题是:
它们存储在默认的蓝牙文件夹中,而我需要它们位于 SD 卡中的应用程序特定文件夹中。
我必须更改它们的位置并重命名它们。我该怎么做,或者更好的是,我知道该怎么做,但是,我怎么知道转移何时完成? 有没有办法捕获下载完成事件?
(如果您有更长的方式来管理整个蓝牙低级进程的解决方案,这是非常受欢迎的,但请我对 Android 非常陌生,所以请解释一下整个清单)
谢谢
【问题讨论】: