【Android源码 栏目提醒】:本文主要为网学会员提供“MissileLauncherActivity java android源码 - 开发文档”,希望对需要MissileLauncherActivity java android源码 - 开发文档网友有所帮助,学习一下!
/ Copyright C 2011 The Android Open Source Project Licensed under the Apache License Version 2.0 the License you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing software distributed under the License is distributed on an AS IS BASIS WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied. See the License for the specific language governing permissions and limitations under the License. / package com.android.missilelauncher import java.nio.ByteBuffer import android.app.Activity import android.content.Context import android.content.Intent import android.hardware.Sensor import android.hardware.SensorEvent import android.hardware.SensorEventListener import android.hardware.SensorManager import android.hardware.usb.UsbConstants import android.hardware.usb.UsbDevice import android.hardware.usb.UsbDeviceConnection import android.hardware.usb.UsbEndpoint import android.hardware.usb.UsbInterface import android.hardware.usb.UsbManager import android.hardware.usb.UsbRequest import android.os.Bundle import android.util.Log import android.view.View import android.widget.Button public class MissileLauncherActivity extends Activity implements View.OnClickListener Runnable private static final String TAG MissileLauncherActivity private Button mFire private UsbManager mUsbManager private UsbDevice mDevice private UsbDeviceConnection mConnection private UsbEndpoint mEndpointIntr private SensorManager mSensorManager private Sensor mGravitySensor // USB control commands private static final int COMMAND_UP 1 private static final int COMMAND_DOWN 2 private static final int COMMAND_RIGHT 4 private static final int COMMAND_LEFT 8 private static final int COMMAND_FIRE 16 private static final int COMMAND_STOP 32 private static final int COMMAND_STATUS 64 // constants for accelerometer orientation private static final int TILT_LEFT 1 private static final int TILT_RIGHT 2 private static final int TILT_UP 4 private static final int TILT_DOWN 8 private static final double THRESHOLD 5.0 Override public void onCreateBundle savedInstanceState super.onCreatesavedInstanceState setContentViewR.layout.launcher mFire ButtonfindViewByIdR.id.fire mFire.setOnClickListenerthis mUsbManager UsbManagergetSystemServiceContext.USB_SERVICE mSensorManager SensorManagergetSystemServiceContext.SENSOR_SERVICE mGravitySensor mSensorManager.getDefaultSensorSensor.TYPE_GRAVITY Override public void onPause super.onPause mSensorManager.unregisterListenermGravityListener Override public void onResume super.onResume mSensorManager.registerListenermGravityListener mGravitySensor SensorManager.SENSOR_DELAY_NORMAL Intent intent getIntent Log.dTAG intent: intent String action intent.getAction UsbDevice device UsbDeviceintent.getParcelableExtraUsbManager.EXTRA_DEVICE if UsbManager.ACTION_USB_DEVICE_ATTACHED.equalsaction setDevicedevice else if UsbManager.ACTION_USB_DEVICE_DETACHED.equalsact