模拟按键发送消息

前段时间作了一个PSTN通话的应用程序,PAD链接座机实现通话功能。座机上有上翻、下翻通信录的功能。通信录用的是Google默认的。在不改动通信录的状况下只有使用模拟按键来发送消息。代码很简单,共享下!!html

  1. <span style="font-size:18px;">public class MenuDemoActivity extends Activity {  
  2.     protected static final String TAG = "MenuDemoActivity";  
  3.   
  4.     @Override  
  5.     public void onCreate(Bundle savedInstanceState) {  
  6.         requestWindowFeature(Window.FEATURE_NO_TITLE);  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.main);  
  9.           
  10.         final Button button = (Button) findViewById(R.id.button1);  
  11.         button.setOnClickListener(new OnClickListener() {  
  12.               
  13.             @Override  
  14.             public void onClick(View v) {  
  15.                 sendKeyCode(KeyEvent.KEYCODE_DPAD_DOWN);  
  16.             }  
  17.         });  
  18.           
  19.         final Button button2 = (Button) findViewById(R.id.button2);  
  20.         button2.setOnClickListener(new OnClickListener() {  
  21.               
  22.             @Override  
  23.             public void onClick(View v) {  
  24.                 sendKeyCode(KeyEvent.KEYCODE_DPAD_DOWN);  
  25.             }  
  26.         });  
  27.     }  
  28.       
  29.     /** 
  30.      * 传入须要的键值便可 
  31.      * @param keyCode 
  32.      */  
  33.     private void sendKeyCode(final int keyCode){  
  34.         new Thread () {  
  35.             public void run() {  
  36.                 try {  
  37.                     Instrumentation inst = new Instrumentation();  
  38.                     inst.sendKeyDownUpSync(keyCode);  
  39.                 } catch (Exception e) {  
  40.                     Log.e("Exception when sendPointerSync", e.toString());  
  41.                 }  
  42.             }  
  43.         }.start();  
  44.     }  
  45.   }  
  46.   </span>  

加入权限:java

  1. <span style="font-size:18px;"><uses-permission android:name="android.permission.INJECT_EVENTS" /></span>