Gracias de antemano.
Tengo un dispositivo movil samsung el cual lo conecto a mi computadora con sistema windows 8.1, y windows lo reconoce con icono 23 y dentro de eso me muestra la memoria interna (Phone) y la externa (Card).
Mi pregunta es: Como hago para copiar un archivo de mi PC a una de las unidades del dispositivo movil mediante codigo.
Mi problema radica en que, no se como poner la ruta de la carpeta especial "Mi PC"
My.Computer.FileSystem.CopyFile("d:\trabajos\tarea.txt", Environment.GetFolderPath(Environment.SpecialFolder.MyComputer) & "\23\Card\tarea.txt")
Les estaré muy agradecidos
Código, código, código.
Leete esto. (http://foro.elhacker.net/help.html;page=post#bbc)
También por favor decinos el lenguaje en el que estás programando.
(Fe de erratas serias)
La ubicación "Mi PC" no existe. Se divide en diferentes unidades, C:, D:, G:, X:.
Si yo me refiero a "C:\recurso\recursos\recurso.exe", se busca en esa unidad.
Si yo me refiero a otra, se usa otra.
Pero la cuestión es que Mi PC es sólo un directorio imaginario (o programa) que agrupa todas las unidades conectadas al equipo.
Para despejar dudas a los demás: el lenguaje en el que está trabajando es
Visual Basic.NET.
Jamás entenderé en que piensa la gente que formula una pregunta de programación sin mencionar el lenguaje ...como si aquí todos fuesen adivinos :¬¬
Supuestamente para que el dispositivo Android se pueda mapear a una letra de unidad convencional (ej.
F:\), debes habiilitar las siguientes características en tu dspositivo:
(http://i.imgur.com/msV5cCv.png)
Despues de eso supuestamente al conectar tu dispositivo deberías ser capaz de ver una letra de unidad en el directorio virtual
Mi PC, es decir, que ya podrías copiar archivos de manera normal:
Dim fi As New FileInfo("C:\Archivo de origen.ext")
fi.CopyTo(Path.Combine("X:\Directorio android\", fi.Name), overwrite:=False)
Si eso no te funcionase, entonces siempre puedes recurrir a la librería
Android Lib:
- https://github.com/regaw-leinad/AndroidLib/releases
+ Ejemplos de uso:
- https://github.com/regaw-leinad/AndroidLib-Samples-VB
Con esta class que he sacado de mi API
ElektroKit: https://github.com/ElektroStudios/ElektroKit/blob/master/Solution/Elektro.Application.ThirdParty/AndroidLib/Tools/AndroidLibUtil.vb (https://github.com/ElektroStudios/ElektroKit/blob/master/Solution/Elektro.Application.ThirdParty/AndroidLib/Tools/AndroidLibUtil.vb) -puedes utilizar
AndroidLib para enumerar los dispositivos
Android conectados al PC:
' ***********************************************************************
' Author : Elektro
' Modified : 06-March-2016
' ***********************************************************************
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports RegawMOD.Android
Public NotInheritable Class AndroidLibUtil
''' ----------------------------------------------------------------------------------------------------
''' <summary>
''' Prevents a default instance of the <see cref="AndroidLibUtil"/> class from being created.
''' </summary>
''' ----------------------------------------------------------------------------------------------------
<DebuggerNonUserCode>
Private Sub New()
End Sub
''' ----------------------------------------------------------------------------------------------------
''' <summary>
''' The Android controller, which controls communication to and from connected Android devices.
''' </summary>
''' ----------------------------------------------------------------------------------------------------
Private Shared controller As AndroidController
''' ----------------------------------------------------------------------------------------------------
''' <summary>
''' Gets the Android devices that are connected on the current system.
''' </summary>
''' ----------------------------------------------------------------------------------------------------
''' <value>
''' The Android devices that are connected on the current system.
''' </value>
''' ----------------------------------------------------------------------------------------------------
Public Shared ReadOnly Property Devices As ReadOnlyCollection(Of Device)
<DebuggerStepThrough>
Get
Return New ReadOnlyCollection(Of Device)(GetConnectedDevices.ToArray())
End Get
End Property
Private Shared Iterator Function GetConnectedDevices() As IEnumerable(Of Device)
' Usually, you want to load this at startup, may take up to 5 seconds to initialize/set up resources/start server.
If (AndroidLibUtil.controller Is Nothing) Then
AndroidLibUtil.controller = AndroidController.Instance
End If
' Always call UpdateDeviceList() before using AndroidController on devices, to get the most updated list.
AndroidLibUtil.controller.UpdateDeviceList()
If AndroidLibUtil.controller.HasConnectedDevices Then
For Each serial As String In AndroidLibUtil.controller.ConnectedDevices
Yield AndroidLibUtil.controller.GetConnectedDevice(serial)
Next serial
End If
End Function
End Class
Y entonces ya solo es cuestión de transferir los archivos al directorio que desees utilizando los métodos expuestos en las classes de
AndroidLib.
Saludos