Aller au contenu

[ANDROID]Connexion USB Tablette


Recommended Posts

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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...