En permettant le partage de connexion USB par programme - là est une application qu'il a fait pour 2.3
J'ai lu beaucoup de questions ici AFIN de vous demander comment activer le partage de connexion USB par programmation.
La réponse est toujours la même, les applications ordinaires ne peuvent pas le faire, seulement le système apps.
Encore pour 2,3 vous pouvez télécharger une application sur le marché qui permettrait de le faire pour vous.
https://play.google.com/store/apps/details?id=org.tdtran.autousbtethering
Sur ICS (Android 4.0.3) il ne fonctionne plus.
Comment ils le font pour la 2.3? Est-il possible également pour la version 4.0?
"La réponse est toujours la même, les applications ordinaires ne peuvent pas le faire, le système d'applications." -- Avec plus de précision, il n'y a rien dans le SDK Android pour gérer le partage de connexion USB.
Oui, comment un app réussi à le faire? Il peut ne pas être dans le SDK, mais c'est certainement possible! C'était un sale tour? Un exploit? Peut-être que cela a été corrigé dans la version 4.0?
Oui, comment un app réussi à le faire? Il peut ne pas être dans le SDK, mais c'est certainement possible! C'était un sale tour? Un exploit? Peut-être que cela a été corrigé dans la version 4.0?
OriginalL'auteur Elad Nava | 2012-03-28
Vous devez vous connecter pour publier un commentaire.
en utilisant le code suivant, vous pouvez activer le partage de connexion USB. je did't le test de la version 4.0.
est de votre Samsung S II a ICS ? je l'ai testé dans de nombreux dispositifs, à l'exception de l'ICS et au-dessus de son travail dans tous les appareils.
Ouais, il a ICS. Ce changement dans ICS?
Ci-dessus le code du travail n'est pas de travail dans SA. J'ai essayé de plusieurs façons et fatigué maintenant. Merci de partager si vous trouvez le moyen d'allumer..
OriginalL'auteur abbas.aniefa
ICS et ci-dessus: Pour exécuter la méthode de réflexion, la demande exige la
WRITE_SECURE_SETTINGS
autorisation.Ce n'est pas disponible à moins que le téléphone est enracinée.
Ce n'est que le premier problème. Ensuite, vous obtiendrez ceci: 01-17 22:29:40.983: E/Tethering(2632): Essayé de rattacher un inconnu iface :usb0, en ignorant Sur mon HTC Sensation, c'était en fait rndis0 au lieu de usb0!?
OriginalL'auteur ics.user
puisque c'est l'un des plus populaires des pages dans les résultats de Google pour ce sujet, j'aimerais contribuer à mon code qui est en train de vérifier les interfaces disponibles. Il fonctionne sur un pain d'épice téléphone, que j'ai, mais pas de mon Galaxy S3.
OriginalL'auteur Jens
Sur Samsumg Galaxy Tab 2 10.1 l'interface n'est pas appelé "usb0" mais "rndis0". Peut-être que c'est la même chose pour le Galaxy SII
OriginalL'auteur skubo
Le port "rndis0" est activé de façon dynamique pas disponible dans la la Tetherable liste d'interfaces.
Il est ajouté lorsque l'utilisateur sélectionne l'option partage de connexion USB dans le menu.
La fonction ConnectivityManager::setUsbTethering(bool) est appelée lorsque l'option est sélectionnée. Et cet appel de fonction est autorisée uniquement pour les applications du Système.
OriginalL'auteur edreamz
Je sais que je suis un vieux thread mais j'espère que cela pourrait aider d'autres personnes dans le futur ,
Que le code a fonctionné pour moi dans Android 4.4(avec les privilèges de root)
code:
l'astuce consiste à utiliser la réflexion , la méthode qui change de l'usb tethring est appelé "setUsbTethering"
J'ai l'habitude d'écrire l'ensemble de la classe, mais voici ce dont vous avez besoin:
vous pouvez imprimer l'ensemble des méthodes de la classe en utilisant le code suivant
alors appel
printClassMethod(ConnectivityManager.class)
De plus, vous pouvez aller sur la classe elle-même et de vérifier les méthodes et les arguments nécessaires.
pour obtenir les choses fonctionnent:
vous devez définir votre application Système d'application,
Déclarer dans le manifeste : android:sharedUserId="android.uid.système"
ajouter de l'écriture de l'obtention d'une autorisation
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"
Signer l'apk à l'aide de google de clé de certificat(apk-avec le système de privilèges) et poussez-la dans /system/app
L'esprit, que usbTethering est activée lorsque l'USB est attaché, donc une meilleure solution sera de vous inscrire pour les deux USB_STATE et USB_ATTACH et l'activer/la désactiver en conséquence dans la Méthode onReceive. (Partage de connexion USB est automatiquement désactivée lorsque l'USB est de-jointe)
OriginalL'auteur user5654452