我在开发一个APK,需要模拟长按关机键,请问有什么方法吗?

解决方案 »

  1.   

    import android.app.Activity;
    import android.os.Bundle;
    import android.os.DeadObjectException;
    import android.os.ServiceManager;
    import android.view.IWindowManager;
    import android.view.KeyEvent;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;public class SimualteKeyInput extends Activity {final IWindowManager windowManager = IWindowManager.Stub
    .asInterface(ServiceManager.getService("window"));
    public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);
    this.findViewById(R.id.cmd_simulate_key).setOnClickListener(
    new OnClickListener() {
    public void onqisda changerClick(View arg0) {
    new Thread(new Runnable() {
    public void run() {
    simulateKeystroke(KeyEvent.KEYCODE_HOME);
    }
    }).start();
    }
    });
    }
    private void simulateKeystroke(int KeyCode) {
    InjectKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyCode));
    InjectKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyCode));
    }
    private void InjectKeyEvent(KeyEvent kEvent) {
    try {
    windowManager.injectchangerchangerKeyEvent(kEvent,true);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
      

  2.   

    请问关机键是KEYCODE_HOME吗?建了这个类之后如何调用呢?谢谢指点,我是新人