如何使用Xamarin Android以编程方式在两个Android设备之间发送文件

时间:2014-02-14 12:48:05

标签: android bluetooth xamarin.android xamarin

我试图通过蓝牙以编程方式将文本文件从一个Android设备发送到另一个设备。我可以配对和连接,我甚至可以发送一个字符串,但不能发送文件。

这是我基于bluetoothchat示例的实现。

客户端

  private void SendFile()
    {
        // Check that we're actually connected before trying anything
        if (service.GetState() != BluetoothService.STATE_CONNECTED)
        {
            Toast.MakeText(this, Resource.String.not_connected, ToastLength.Short).Show();
            return;
        }


        using (FileStream sourceStream = new FileStream("/storage/sdcard0/test.zip", FileMode.Open, FileAccess.Read))
        {

            int bufferSize = (int)sourceStream.Length;

            byte[] array = new byte[bufferSize];

            sourceStream.Read(array, 0, bufferSize);

            service.Write(array);


        }
    }

SERVICE

     public void WriteFile(byte[] @out)
    {
        // Create temporary object
        ConnectedThread r;
        // Synchronize a copy of the ConnectedThread
        lock (this)
        {
            if (_state != STATE_CONNECTED)
                return;
            r = connectedThread;
        }
        // Perform the write unsynchronized


        r.WriteFile(@out);
    }


    public void WriteFile(byte[] buffer)
        {

            mmOutStream.Write(buffer, 0, buffer.Length);



        }

我在代码中遗漏了什么?我是否需要设置一个具有写入目标路径的新目标文件流?当我第一次运行代码时,我看到要传输的字节显示在目标android设备上,但我没有看到文件存储在文件系统中。

我将不胜感激。

0 个答案:

没有答案