Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.app.rollertest;
- 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.os.Bundle;
- import android.os.ParcelFileDescriptor;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.TextView;
- import com.android.future.usb.UsbAccessory;
- import com.android.future.usb.UsbManager;
- import java.io.FileDescriptor;
- import java.io.FileOutputStream;
- import java.io.IOException;
- public class RollerTestActivity extends Activity {
- private UsbManager mUsbManager;
- private UsbAccessory mAccessory;
- private FileOutputStream mOutputStream;
- private ParcelFileDescriptor mFileDescriptor;
- private PendingIntent mPermissionIntent;
- private boolean mPermissionRequestPending;
- TextView C7;
- TextView C6;
- TextView C5;
- TextView C4;
- TextView C3;
- TextView C2;
- TextView C1;
- Button B;
- OnClickListener BL = new OnClickListener() {
- public void onClick(View v) {
- System.out.format( String.valueOf("click%n") );
- C7.setText("click.");
- sendCommand((byte)2, (byte)0, (byte)255);
- }
- };
- private static final String ACTION_USB_PERMISSION = "com.app.rollertest.action.USB_PERMISSION";
- private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (ACTION_USB_PERMISSION.equals(action)) {
- synchronized (this) {
- UsbAccessory accessory = UsbManager.getAccessory(intent);
- if (intent.getBooleanExtra(
- UsbManager.EXTRA_PERMISSION_GRANTED, false)) {
- openAccessory(accessory);
- } else {
- C2.setText("openAccessory positive");
- }
- mPermissionRequestPending = false;
- }
- } else if (UsbManager.ACTION_USB_ACCESSORY_DETACHED.equals(action)) {
- UsbAccessory accessory = UsbManager.getAccessory(intent);
- if (accessory != null && accessory.equals(mAccessory)) {
- closeAccessory();
- }
- }
- }
- };
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- C1 = (TextView)findViewById(R.id.C1);
- C2 = (TextView)findViewById(R.id.C2);
- C3 = (TextView)findViewById(R.id.C3);
- C4 = (TextView)findViewById(R.id.C4);
- C5 = (TextView)findViewById(R.id.C5);
- C6 = (TextView)findViewById(R.id.C6);
- C7 = (TextView)findViewById(R.id.C7);
- B = (Button)findViewById(R.id.button1);
- B.setOnClickListener(BL);
- mUsbManager = UsbManager.getInstance(this);
- mPermissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(
- ACTION_USB_PERMISSION), 0);
- IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
- filter.addAction(UsbManager.ACTION_USB_ACCESSORY_DETACHED);
- registerReceiver(mUsbReceiver, filter);
- if (getLastNonConfigurationInstance() != null) {
- mAccessory = (UsbAccessory) getLastNonConfigurationInstance();
- openAccessory(mAccessory);
- } else {
- C1.setText("getLastNonConfigurationInstance else");
- }
- }
- private void openAccessory(UsbAccessory accessory) {
- mFileDescriptor = mUsbManager.openAccessory(accessory);
- if (mFileDescriptor != null) {
- C2.setText("openAccessory positive");
- mAccessory = accessory;
- FileDescriptor fd = mFileDescriptor.getFileDescriptor();
- mOutputStream = new FileOutputStream(fd);
- } else {
- C2.setText("openAccessory else");
- }
- }
- private void closeAccessory() {
- try {
- if (mFileDescriptor != null) {
- mFileDescriptor.close();
- }
- } catch (IOException e) {
- } finally {
- mFileDescriptor = null;
- mAccessory = null;
- }
- }
- public void sendCommand(byte command, byte target, int value) {
- byte[] buffer = new byte[3];
- if (value > 255)
- value = 255;
- buffer[0] = command;
- buffer[1] = target;
- buffer[2] = (byte) value;
- if (mOutputStream != null && buffer[1] != -1) {
- try {
- mOutputStream.write(buffer);
- } catch (IOException e) {
- C3.setText("SC: exeption");
- }
- } else {
- C3.setText("SC: else");
- }
- }
- }
Add Comment
Please, Sign In to add comment