【Android應用開發】Instrumentation簡單的模擬按鍵傳送訊息
阿新 • • 發佈:2019-01-04
前段時間做了一個PSTN通話的應用程式,PAD連線座機實現通話功能。座機上有上翻、下翻通訊錄的功能。通訊錄用的是Google預設的。在不改動通訊錄的情況下只有使用模擬按鍵來發送訊息。程式碼很簡單,共享下!!
- publicclass MenuDemoActivity extends Activity {
- protectedstaticfinal String TAG = "MenuDemoActivity";
- @Override
- publicvoid 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
- publicvoid onClick(View v) {
-
sendKeyCode(KeyEvent.KEYCODE_DPAD_DOWN);
- }
- });
- final Button button2 = (Button) findViewById(R.id.button2);
- button2.setOnClickListener(new OnClickListener() {
- @Override
- publicvoid onClick(View v) {
- sendKeyCode(KeyEvent.KEYCODE_DPAD_DOWN);
-
}
- });
- }
- /**
- * 傳入需要的鍵值即可
- * @param keyCode
- */
- privatevoid sendKeyCode(finalint keyCode){
- new Thread () {
- publicvoid run() {
- try {
- Instrumentation inst = new Instrumentation();
- inst.sendKeyDownUpSync(keyCode);
- } catch (Exception e) {
- Log.e("Exception when sendPointerSync", e.toString());
- }
- }
- }.start();
- }
- }
加入許可權:
- <uses-permissionandroid:name="android.permission.INJECT_EVENTS"/></span>