閱讀930 返回首頁    go 阿裏雲 go 技術社區[雲棲]


android發送鍵盤事件(應用層)

啥也不說了,直接貼代碼:

package org.winplus.keydemo;

import android.app.Activity;
import android.app.Instrumentation;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;

public class MenuDemoActivity extends Activity {
    protected static final String TAG = "MenuDemoActivity";

	@Override
    public void onCreate(Bundle savedInstanceState) {
    	requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        final Button button = (Button) findViewById(R.id.button1);
        button.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				sendKeyCode(KeyEvent.KEYCODE_DPAD_DOWN);
			}
		});
        
        final Button button2 = (Button) findViewById(R.id.button2);
        button2.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				sendKeyCode(KeyEvent.KEYCODE_DPAD_DOWN);
			}
		});
    }
    
	/**
	 * 傳入需要的鍵值即可
	 * @param keyCode
	 */
    private void sendKeyCode(final int keyCode){
		new Thread () {
			public void run() {
				try {
					Instrumentation inst = new Instrumentation();
					inst.sendKeyDownUpSync(keyCode);
				} catch (Exception e) {
					Log.e("Exception when sendPointerSync", e.toString());
				}
			}
		}.start();
	}
}


最後更新:2017-04-03 16:48:48

  上一篇:go Activity的intent詳解~
  下一篇:go 一分鍾之內互聯網發生了什麼?