Comment envoyer un fichier à l'aide de bluetooth sur android par programmation?
J'ai besoin d'envoyer un fichier à un ordinateur à la place d'une autre application android. J'ai regardé le bluetooth de l'api, mais il n'autoriser la connexion en tant que client-serveur. Dans mon cas, je ne sais pas ce UUId serait sur l'ordinateur. Ai-je besoin de regarder obex. Je n'ai pas utilisé avant. De sorte que toute aide serait benficial.
je ne pense pas que android prend en charge obex.vous pouvez voir les nouvelles api bluetooth pour la 3.0 .je pense qu'il prend en charge non garantis bluetooth conn
J'ai besoin de réaliser la même fonctionnalité similaire à l'option de partage dans l'application photos. partager->bluetooth->sélectionner l'appareil et l'envoyer
avez-vous , comment vous réaliser que @Saqib
J'ai besoin de réaliser la même fonctionnalité similaire à l'option de partage dans l'application photos. partager->bluetooth->sélectionner l'appareil et l'envoyer
avez-vous , comment vous réaliser que @Saqib
OriginalL'auteur Saqib | 2011-02-07
Vous devez vous connecter pour publier un commentaire.
De l'essayer.
Je peux envoyer un fichier à l'aide de ce code.
Code de BluetoothShare.java
J'ai besoin de votre réponse immédiate pour mon commentaire s'il vous plaît.J'ai essayé le code ci-dessus la version android 2.2/2.3 pour le partage de fichiers à l'ordinateur portable équipé de la technologie bluetooth,mais il semble qu'il a échoué pour le partage de fichiers.Je ne sais pas quel est le problème exactement.M'aider à le résoudre le plus vite possible.
ce contenu uri
content://com.android.bluetooth.opp/btopp
pas de travail pour moi.comment l'écrireApparemment, pour moi, c'est d'essayer d'envoyer le fichier, mais une erreur se produit. En appuyant sur "réessayer". Mais c'est à partir de l'extérieur de l'application. Android 4.0.3.
Voir ceci réponse: BluetoothShare la classe n'est pas pris en charge sur android 4.1 et au-dessus de
OriginalL'auteur Kartik Bhatt
Pour Ice Cream Sandwich, ce code ne fonctionne pas, donc vous devez utiliser ce code
Ce n'est pas un travail pour moi et donner de l'envoi d'un fichier a échoué.
OriginalL'auteur Chirag Patel
Vous pouvez utiliser l'obex de la bibliothèque. Il semble qu'android n'a pas à fournir de l'obex de la bibliothèque, mais j'ai résolu le problème et la solution est affiché ici.
De plus amples Explications (s'il vous plaît commencer la lecture à partir de ici si vous êtes occupé)
Contenu principal :Bluetooth client FTP
Ma première idée était de rendre l'application, vérifiez la liste des fichiers de mon téléphone du répertoire.
Mais je ne sais pas comment le connecter à mon téléphone fonctionnalité du serveur ftp.
J'ai googlé beaucoup de choses sur la façon de se connecter à un serveur ftp via le bluetooth, mais je n'ai pu trouver que Bluetoorh serveur FTP utilisé le
OBEX Protocol
.J'ai trouvé une matière utile (fichier PDF) dans un fil et étudié à propos OBEX demandes de connexion, les mettre et de lancer des opérations.
Donc j'ai finalement écrit quelques codes qui tente de se connecter à la
Bluetooth FTP
serveur. Je tiens à vous les montrer, mais je l'ai perdu 🙁 Les codes ont été comme vient directement d'écrire les séquences d'octets pour le flux de sortie.J'ai aussi eu de la difficulté à trouver ce que l'UUID de fait l'application se connecter en tant que client FTP. Mais j'ai essayé tous les Uuid récupérées à l'aide du code ci-dessous.
Rien ne semblait m'apporter la réponse que je voulais. J'ai donc cherché sur google plus et a découvert que non seulement je dois-je utiliser l'UUID de la 00001106-0000-1000-8000-00805f9b34fb pour se connecter à OBEX FTP server, mais aussi shold je transmettre cible de l'en-tête ** avec l'UUID **F9EC7BC4-953C-11D2-984E-525400DC9E09 lors de l'envoi de
OBEX connect
demande.Le code ci-dessous montre comment se connecter à un périphérique bluetooth serveur FTP en tant que client.
Alors, vous êtes maintenant connecté en tant que client FTP et prêt à l'utilisation OBEX opérations d'envoi de fichiers, la demande pour les fichiers, liste de répertoires, etc.
Commencer à lire à partir d'ici, si vous êtes occupé
Contenu principal: OPP OBEX
Pour la raison que j'ai mentionné ci-dessus, je greedly cherché à manipuler l'OPP qui j'ai découvert de l'OBEX de la documentation.
Vous pouvez transférer des fichiers via bluetooth normalement (sans définir votre protocole et de la construction d'une nouvelle application de bureau juste pour lui) à votre ordinateur, à droite? Puis de l'envoyer à l'OBEX OPP, boîte de réception service qui s'exécute en mode natif sur votre bureau windows de l'ordinateur est la meilleure solution. Alors, comment pouvons-nous nous connecter à l'OPP (Obex Object Push) de la boîte de réception service?
Ajouter
import javax.obex;
à votre code source.Si votre compilateur ne supporte pas OBEX bibliothèque, télécharger les sources et les ajouter à votre projet de ici.
ObexTransport
Vous devez fournir une classe qui implémente
ObexTransport
à la bibliothèque lorsque vous l'utilisez. Il définit la façon dont la bibliothèque doit envoyer des données (comme par RFCOMM, TCP,...). Un exemple de mise en œuvre est ici. Cela peut entraîner certains d'exécution ou des erreurs de compilation commethere's no method
. Mais vous pouvez partiellement corriger ceux en remplaçant les appels de méthode à des constantes commereturn 4096
au lieu dereturn mSocket.getMaxTransmitPacketSize();
, outcommenting laif
déclarations depublic int getMaxTransmitPacketSize()
. Ou vous pouvez essayer d'utiliser réflexion pour obtenir ces méthodes d'exécution.BluetoothSocket
Obtenez un bluetooth socket en utilisant
mBtDevice.createInsecureRfcommSocketToServiceRecord(UUID.fromString(" 00001105-0000-1000-8000-00805f9b34fb" ));
Et appelconnect()
.ClientSession
Créer une instance de votre
ObexTransport
mise en œuvre, et de créer un nouveauClientSession
commemSession = new ClientSession((ObexTransport)(mTransport = new BluetoothObexTransport(mBtSocket)));
.Envoyer OBEX demande de connexion à votre ordinateur à l'OPP, boîte de réception de service.
Envoyer OBEX mettre requêtes à l'aide du
ClientSession
.Enfin, déconnectez.
Puis ici, c'est une classe wrapper.
OriginalL'auteur KYHSGeekCode
Vous avez besoin pour mettre en œuvre le protocole FTP sur OBEX. Une fois que vous mettre en œuvre le protocole standard et de profil, votre Android FTP mise en œuvre fonctionnent avec pratiquement n'importe quel Bluetooth serveur FTP. Vous aurez également besoin de mettre en œuvre OPP pour un maximum d'interopérabilité. Le protocole OBEX n'est pas si difficile à mettre en œuvre et les spécifications est disponible gratuitement.
OriginalL'auteur Konjengbam