2016-08-30 6 views
-4

Я работаю над проектом, для которого требуется приложение Windows, работающее на настольном/переносном ПК с Bluetooth, чтобы поговорить с телефоном Android для обмена файлами. Я хочу получить файл с ПК на телефон и с телефона на ПК. Это можно сделать, отправив на обоих или отправить/получить от одного.Windows .NET на ПК отправлять/получать файлы с телефона Android o0ver Bluetooth

Я работаю в .NET на ПК и Android Studio или Xamarin (Visual Studio) на телефоне Android.

Я просмотрел 32-битные SDK, и я могу отправить файл с ПК с OBEX, но я вынужден принять файл на телефоне Android. Я бы хотел отправить файл и либо поместить его в каталог на телефоне, либо вручную обработать его в своем коде на телефоне с помощью какого-то приемника на Android.

Я пишу оба приложения ... родное приложение телефона и приложение Windows.

Что я действительно люблю делать, это своего рода общий каталог по телефону. Приложение телефона записывает в конкретный каталог телефона. ПК проверяет этот каталог по Bluetooth и удаляет файлы из каталога при чтении. Затем приложение ПК записывает файлы в этот каталог на телефоне для приложения телефона для опроса/чтения.

Любые примеры чего-то подобного? Или что-то, что поможет мне выполнить эту задачу?

.......

Я вижу downvotes ... Вот код, я использую, чтобы отправить файл на телефон. Мне нужно знать, как принять это автоматически с приемником на телефоне и записать файл на диск по телефону ...

Private Sub btnTestBeam1_Click(sender As Object, e As EventArgs) Handles btnTestBeam1.Click 

    Dim sbdd As New InTheHand.Windows.Forms.SelectBluetoothDeviceDialog 
    Dim ofdFileToBeam As New OpenFileDialog 
    sbdd.ShowAuthenticated = True 
    sbdd.ShowRemembered = True 
    sbdd.ShowUnknown = True 

    If sbdd.ShowDialog() = System.Windows.Forms.DialogResult.OK Then 

     If ofdFileToBeam.ShowDialog() = System.Windows.Forms.DialogResult.OK Then 

      Cursor.Current = Cursors.WaitCursor 
      Dim theuri As New Uri("obex://" + sbdd.SelectedDevice.DeviceAddress.ToString() + "/" + System.IO.Path.GetFileName(ofdFileToBeam.FileName)) 
      Dim request As New ObexWebRequest(theuri) 
      request.ReadFile(ofdFileToBeam.FileName) 

      Dim response As ObexWebResponse = CType(request.GetResponse(), ObexWebResponse) 
      MessageBox.Show(response.StatusCode.ToString()) 
      response.Close() 

      Cursor.Current = Cursors.Default 
     End If 

    End If 

End Sub 

Что я ищу является возможность писать прямо в папку на телефон или как получить файл с приложением на телефоне.

И я также должен быть в состоянии сделать то же самое с телефона обратно на компьютер ..

Любые комментарии/предложения было бы полезно ...

ответ

0

Чтобы помочь любому в потомстве ...

PC сторона вещей ....

Dim connectserver As Thread 
Dim mstream As Stream 
Dim client As BluetoothClient 
Dim bluelisten As BluetoothListener 
Dim muuid As Guid = New Guid("fa87c0d0-afac-11de-8a39-0800200c9a66") 
Dim serverstart As Boolean = False 

Private Sub btnTestb1_Click(sender As Object, e As EventArgs) Handles btnTestb1.Click 
    If (serverstart) Then 
     updateui("server already started") 
    End If 

    connectasserver() 
End Sub 

Private Sub connectasserver() 
    connectserver = New Thread(New ThreadStart(AddressOf serverconnectedthread)) 
    connectserver.Start() 
End Sub 

Public Delegate Sub SetText(text As String) 

Private Sub updateui(mess As String) 
    If LabelTestb.InvokeRequired Then 
     LabelTestb.Invoke(New SetText(AddressOf updateui), mess) 
    Else 
     LabelTestb.Text = mess & vbCrLf & LabelTestb.Text 
    End If 
End Sub 

Private Sub serverconnectedthread() 
    Dim sent() As Byte 
    Dim recieved(1024) As Byte 

    serverstart = True 
    updateui("waiting for connections of clients\n") 
    bluelisten = New BluetoothListener(muuid) 
    bluelisten.Start() 
    client = New BluetoothClient() 
    client = bluelisten.AcceptBluetoothClient() 
    updateui("client has connected\n") 
    mstream = client.GetStream() 

    While (True) 
     Try 
      mstream.Read(recieved, 0, recieved.Length) 

      updateui("recieved: " + Encoding.ASCII.GetString(recieved)) 
      sent = Encoding.ASCII.GetBytes(" hello world\n") 
      mstream.Write(sent, 0, sent.Length) 
      sent = Nothing 
     Catch except As IOException 

      updateui("client has been disconnected\n") 
      connectserver.Abort() 
      client.Close() 
      mstream.Flush() 
     End Try 
    End While 

End Sub 

Android сторона вещей .... https://github.com/xamarin/monodroid-samples/tree/master/BluetoothChat

Учитывая эти две стороны ... Я смогу передавать байты по линии в обоих направлениях точно так, как я хочу.

 Смежные вопросы

  • Нет связанных вопросов^_^