vincentdelaunay Posté(e) 10 avril 2013 Share Posté(e) 10 avril 2013 Bonjour tout le monde, Je débute dans la programmation sous android et j'ai comme sujet de réaliser une connexion entre une tablette Acer ICONIA A 210 et un périphérique HID branché en USB et je ne sais pas du tout comment m'y prendre je voudrais avoir de l'aide si quelque sait comme on peut s'y prendre. Je rajoute le code que j'ai écrit pour le moment en lisant le site :http://developer.android.com/guide/topics/connectivity/usb/accessory.html sans vraiment comprendre les méthodes donc si quelqu'un peu m'aider merci beaucoup package com.example.hidinterface; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileOutputStream; import android.app.Activity; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.hardware.usb.UsbAccessory; import android.hardware.usb.UsbManager; import android.os.Bundle; import android.os.ParcelFileDescriptor; import android.util.Log; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity { private static final String ACTION_USB_PERMISSION="com.android.example.USB_PERMISSION"; protected static final String TAG =null; private UsbManager mUsbManager; private PendingIntent mPermissionIntent =null; private UsbAccessory accessory=null; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); UsbManager mUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE); mPermissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0); IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION); registerReceiver(mUsbReceiver, filter); } @Override public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.main, menu); return true; } private final BroadcastReceiver mUsbReceiver=new BroadcastReceiver(){ public void onReceive(Context context,Intent intent){ String action=intent.getAction(); if(ACTION_USB_PERMISSION.equals(action)){ synchronized(this){ accessory=(UsbAccessory)intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY); if(intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)){ if(accessory !=null){ mUsbManager.requestPermission(accessory, mPermissionIntent); } } else{ Log.d(TAG, "permission denied for accessory"+accessory); } } } } }; private void openAccessory() { UsbAccessory mAccessory; ParcelFileDescriptor mFileDescriptor; FileInputStream mInputStream; FileOutputStream mOutputStream; Log.d(TAG, "openAccessory: " + accessory); mFileDescriptor = mUsbManager.openAccessory(accessory); if (mFileDescriptor != null) { FileDescriptor fd = mFileDescriptor.getFileDescriptor(); mInputStream = new FileInputStream(fd); mOutputStream = new FileOutputStream(fd); Thread thread = new Thread(null, (Runnable) this, "AccessoryThread"); thread.start(); } } public Runnable ecriture(){ return null; } } Merci d'avance pour votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.