<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Calvin's Tech Space

    成于堅忍,毀于浮躁

       :: 首頁 :: 聯系 :: 聚合  :: 管理
    2 
     3 import android.app.Activity; 
     4 import android.os.Bundle; 
     5 import android.os.DeadObjectException; 
     6 import android.os.ServiceManager; 
     7 import android.view.IWindowManager; 
     8 import android.view.KeyEvent; 
     9 import android.view.Menu; 
    10 import android.view.View; 
    11 import android.view.View.OnClickListener; 
    12 
    13 public class SimualteKeyInput extends Activity { 
    14 
    15      /* The WindowManager capable of injecting keyStrokes. */ 
    16      final IWindowManager windowManager = IWindowManager.Stub 
    17                .asInterface(ServiceManager.getService("window"
    )); 
    18 
    19      /** Called when the activity is first created. */ 
    20      @Override 
    21      public void onCreate(Bundle icicle) { 
    22           super.onCreate(icicle); 
    23           setContentView(R.layout.main); 
    24            
    25           /* Make the button do the menu-popup. */ 
    26           this.findViewById(R.id.cmd_simulate_key).setOnClickListener( 
    27                     new OnClickListener() { 
    28                          @Override 
    29                          public void onClick(View arg0) { 
    30                               /* Start the key-simulation in a thread 
    31                                * so we do not block the GUI. */ 
    32                               new Thread(new Runnable() { 
    33                                    public void run() { 
    34                                         /* Simulate a KeyStroke to the menu-button. */ 
    35                                         simulateKeystroke(KeyEvent.KEYCODE_SOFT_LEFT); 
    36                                    } 
    37                               }).start(); /* And start the Thread. */
     
    38                          } 
    39                     }); 
    40      } 
    41       
    42      /** Create a dummy-menu. */ 
    43      @Override 
    44      public boolean onCreateOptionsMenu(Menu menu) { 
    45           boolean supRetVal = super.onCreateOptionsMenu(menu); 
    46           menu.add(00"Awesome it works =)"); 
    47           return supRetVal; 
    48      } 
    49 
    50      /** Wrapper-function taking a KeyCode. 
    51       * A complete KeyStroke is DOWN and UP Action on a key! */ 
    52      private void simulateKeystroke(int KeyCode) { 
    53           doInjectKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyCode)); 
    54           doInjectKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyCode)); 
    55      } 
    56 
    57      /** This function actually handles the KeyStroke-Injection. */ 
    58      private void doInjectKeyEvent(KeyEvent kEvent) { 
    59           try { 
    60                /* Inject the KeyEvent to the Window-Manager. */ 
    61                windowManager.injectKeyEvent(kEvent, false);
    64           } catch (DeadObjectException e) { 
    65                e.printStackTrace(); 
    66           } 
    67      } 
    68 }

    注意:
    1.這個模擬的鍵盤敲擊事件只能作用于一個app之內,不能向全系統發送。
    2.需要添加INJECT-KEYEVENT權限。
    3.一個完整的鍵盤事件包括按下的彈起兩個事件。
    posted on 2010-03-18 13:35 calvin 閱讀(5944) 評論(0)  編輯  收藏 所屬分類: Android
    主站蜘蛛池模板: 一级毛片免费全部播放| 精品久久久久久亚洲中文字幕| 国产高潮久久免费观看| 免费又黄又硬又爽大片| 视频免费1区二区三区| 亚洲国产主播精品极品网红| 草久免费在线观看网站| 亚洲视频在线一区二区| 国产在线观看无码免费视频| 久久99国产亚洲高清观看首页| 爱丫爱丫影院在线观看免费| 亚洲av日韩av无码| 亚洲国产精品免费在线观看| 亚洲人成7777影视在线观看| 无码视频免费一区二三区| 精品亚洲国产成人av| 亚洲乱码中文字幕综合234| 两个人看的www视频免费完整版| 亚洲av无码国产精品夜色午夜| 国产好大好硬好爽免费不卡| 亚洲国产日韩在线| 日本一区二区三区日本免费| 好猛好深好爽好硬免费视频| 亚洲高清视频在线观看| 青草草色A免费观看在线| 久久久久久亚洲av无码蜜芽| 亚洲美女高清一区二区三区| 久久国产免费观看精品3| 伊人久久亚洲综合影院首页| 亚洲人成无码www久久久| 无码av免费网站| 亚洲av无码日韩av无码网站冲| 国产成人亚洲影院在线观看| 亚州免费一级毛片| 白白色免费在线视频| 97亚洲熟妇自偷自拍另类图片| 大学生美女毛片免费视频| 一个人看的免费观看日本视频www| 亚洲毛片在线观看| 四虎永久免费地址在线网站 | 亚洲av无码一区二区三区四区|