Hi All,
Can you guys help me solve the problem below?

For ICS, it is easy to do the screen shot manually, by press the POWER
and Volumn_Down key same time, and there is a instrument test under /
icecreamsandwich/frameworks/base/packages/SystemUI/tests/ ,

101     /**
102      * Inject the key sequence to take a screenshot.
103      */
104     private void takeScreenshot() {
105         getInstrumentation().sendKeySync(new
KeyEvent(KeyEvent.ACTION_DOWN,
106                 KeyEvent.KEYCODE_POWER));
107         getInstrumentation().sendKeySync(new
KeyEvent(KeyEvent.ACTION_DOWN,
108                 KeyEvent.KEYCODE_VOLUME_DOWN));
109         try{
110             Thread.sleep(2000);
111         }catch(Exception e){
112         }
113         // the volume down key event will cause the 'volume
adjustment' UI to appear in the
114         // foreground, and steal UI focus
115         // unfortunately this means the next key event will get
directed to the
116         // 'volume adjustment' UI, instead of this test's activity
117         // for this reason this test must be signed with platform
certificate, to grant this test
118         // permission to inject key events to another process
119         getInstrumentation().sendKeySync(new
KeyEvent(KeyEvent.ACTION_UP,
120                 KeyEvent.KEYCODE_VOLUME_DOWN));
121         getInstrumentation().sendKeySync(new
KeyEvent(KeyEvent.ACTION_UP,
122                 KeyEvent.KEYCODE_POWER));
123     }
and in it's AndroidManifest.xml file, there is the user-permission
flag:
   <uses-permission android:name="android.permission.INJECT_EVENTS" />
I tried it, and it works, it can take the screenshot.

Now I want to borrow this code a camera test case, it also use the
instrument, I add the android.permission.INJECT_EVENTS in
menifest.xml, (but this doesn't exist in Camera app's
AndroidManifest.xml), andI run case, only see the volume adjustment'
UI appear in the ui. Seems that the
getInstrumentation().sendKeySync(new
KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_POWER)), didn't run or
take effect.

Is it because the camera APP's AndroidMenifest.xml doesn't include the
<uses-permission android:name="android.permission.INJECT_EVENTS" />?






why,

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to