InputManager.injectInputEvent()这个函数应该可以。
不过你为什么要模拟?直接调用takepicture()不就可以拍了?

解决方案 »

  1.   


    package com.android.camera;import android.content.Context;
    import android.util.AttributeSet;
    import android.widget.ImageView;/**
     * A button designed to be used for the on-screen shutter button.
     * It's currently an {@code ImageView} that can call a delegate when the
     * pressed state changes.
     */
    public class ShutterButton extends ImageView {
        /**
         * A callback to be invoked when a ShutterButton's pressed state changes.
         */
        public interface OnShutterButtonListener {
            /**
             * Called when a ShutterButton has been pressed.
             *
             * @param b The ShutterButton that was pressed.
             */
            void onShutterButtonFocus(ShutterButton b, boolean pressed);
            void onShutterButtonClick(ShutterButton b);
        }    private OnShutterButtonListener mListener;
        private boolean mOldPressed;    public ShutterButton(Context context) {
            super(context);
        }    public ShutterButton(Context context, AttributeSet attrs) {
            super(context, attrs);
        }    public ShutterButton(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
        }    public void setOnShutterButtonListener(OnShutterButtonListener listener) {
            mListener = listener;
        }    /**
         * Hook into the drawable state changing to get changes to isPressed -- the
         * onPressed listener doesn't always get called when the pressed state
         * changes.
         */
        @Override
        protected void drawableStateChanged() {
            super.drawableStateChanged();
            final boolean pressed = isPressed();
            if (pressed != mOldPressed) {
                if (!pressed) {
                    // When pressing the physical camera button the sequence of
                    // events is:
                    //    focus pressed, optional camera pressed, focus released.
                    // We want to emulate this sequence of events with the shutter
                    // button. When clicking using a trackball button, the view
                    // system changes the the drawable state before posting click
                    // notification, so the sequence of events is:
                    //    pressed(true), optional click, pressed(false)
                    // When clicking using touch events, the view system changes the
                    // drawable state after posting click notification, so the
                    // sequence of events is:
                    //    pressed(true), pressed(false), optional click
                    // Since we're emulating the physical camera button, we want to
                    // have the same order of events. So we want the optional click
                    // callback to be delivered before the pressed(false) callback.
                    //
                    // To do this, we delay the posting of the pressed(false) event
                    // slightly by pushing it on the event queue. This moves it
                    // after the optional click notification, so our client always
                    // sees events in this sequence:
                    //     pressed(true), optional click, pressed(false)
                    post(new Runnable() {
                        public void run() {
                            callShutterButtonFocus(pressed);
                        }
                    });
                } else {
                    callShutterButtonFocus(pressed);
                }
                mOldPressed = pressed;
            }
        }    private void callShutterButtonFocus(boolean pressed) {
            if (mListener != null) {
                mListener.onShutterButtonFocus(this, pressed);
            }
        }    @Override
        public boolean performClick() {
            boolean result = super.performClick();
            if (mListener != null) {
                mListener.onShutterButtonClick(this);
            }
            return result;
        }
    }
      

  2.   

    我是想打开应用的时候就调用相机,然后拍照保存退出。我刚入门,不太了解takepicture怎么用
      

  3.   


    我是想打开应用的时候就调用相机,然后拍照保存退出。我刚入门,不太了解takepicture怎么用
      

  4.   


    我是想打开应用的时候就调用相机,然后拍照保存退出。我刚入门,不太了解takepicture怎么用http://developer.android.com/reference/android/hardware/Camera.html
    class overview这段有To take pictures with this class, use the following steps:,要多看api啊