Jump to content

[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

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...