生活随笔
收集整理的這篇文章主要介紹了
instrumentation模拟很多activity的操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
android.app.Instrumentation好像原來是用來做測試的,
可以用來模擬很多activity的操作
主要代碼如下
如果在文本框中輸入24,或者25
點擊按鈕就能模擬音量加減鍵
鍵值可以查看android.view.KeyEvent
[java]?view plaincopy
package?com.qefee.testinstrumentation;?? ?? import?android.app.Activity;?? import?android.app.Instrumentation;?? import?android.os.Bundle;?? import?android.view.KeyEvent;?? import?android.view.View;?? import?android.widget.Button;?? import?android.widget.EditText;?? import?android.widget.TextView;?? import?android.widget.Toast;?? ?? public?class?MainActivity?extends?Activity?{?? ????TextView?tv_showkey;?? ????Button?btn_submit;?? ????EditText?et_keycode;?? ????Instrumentation?instrumentation;?? ?? ????@Override?? ????protected?void?onCreate(Bundle?savedInstanceState)?{?? ????????super.onCreate(savedInstanceState);?? ????????setContentView(R.layout.activity_main);?? ?? ????????instrumentation?=?new?Instrumentation();?? ????????getViews();?? ?? ?????????? ????????btn_submit.setOnClickListener(new?View.OnClickListener()?{?? ?? ????????????@Override?? ????????????public?void?onClick(View?v)?{?? ????????????????et_keycode.clearFocus();?? ????????????????btn_submit.requestFocus();?? ????????????????String?keycodeStr?=?et_keycode.getText().toString();?? ?? ????????????????if?(keycodeStr?==?null?||?"".equals(keycodeStr))?{?? ????????????????????Toast.makeText(MainActivity.this,?"please?input?a?keycode",?? ????????????????????????????Toast.LENGTH_SHORT).show();?? ????????????????????return;?? ????????????????}?? ?? ????????????????final?int?keycode?=?Integer.parseInt(keycodeStr);?? ?? ?????????????????? ????????????????Thread?t?=?new?Thread(new?Runnable()?{?? ?? ????????????????????@Override?? ????????????????????public?void?run()?{?? ????????????????????????instrumentation.sendKeyDownUpSync(keycode);?? ????????????????????}?? ????????????????});?? ????????????????t.start();?? ?? ????????????}?? ????????});?? ????}?? ?? ????? ? ?? ????private?void?getViews()?{?? ????????tv_showkey?=?(TextView)?findViewById(R.id.tv_showcode);?? ????????btn_submit?=?(Button)?findViewById(R.id.btn_submit);?? ????????et_keycode?=?(EditText)?findViewById(R.id.et_keycode);?? ????}?? ?? ????@Override?? ????public?boolean?onKeyDown(int?keyCode,?KeyEvent?event)?{?? ????????boolean?onKeyDown?=?super.onKeyDown(keyCode,?event);?? ????????tv_showkey.setText("des?=?"?+?KeyEvent.keyCodeToString(keyCode)?? ????????????????+?"?:?code?=?"?+?keyCode);?? ????????System.out.println(event);?? ?????????? ?????????? ?????????? ?????????? ?????????? ?????????? ?????????? ?????????? ?????????? ?????????? ?? ????????return?onKeyDown;?? ????}?? }?
總結
以上是生活随笔為你收集整理的instrumentation模拟很多activity的操作的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。