You can use instrumentation, ie following code called from onCreate of your activity will cause menu to be opened and closed multiple times:
MainActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
package com.phaisarn.myapplication; import android.app.Instrumentation; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Thread(new Runnable() { @Override public void run() { try { Instrumentation inst = new Instrumentation(); for (int i = 0; i < 10; ++i) { inst.sendKeyDownUpSync(KeyEvent.KEYCODE_MENU); Thread.sleep(2000); inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK); Thread.sleep(2000); } } catch (InterruptedException e) { Log.d("Jack", e.getMessage()); } } }).start(); } } |
บรรทัดที่ 20 : เรียกใช้ Instrumentation
พอรันแล้วเหมือนถูกกด Back แล้วแอพก็หายไปเลย ไม่กลับมา
แต่ก็ถือว่าส่งคีย์ได้
Link
- Android simulate key press
- developer.android.com added in API level 1 KeyEvent