Dear all, Relate with question can't dispatch event when change Activity, i have litle concern about Long press key event have abort while timing change Activity like Scenario as bellow: [Activit1] -> [Activity2]
Does anyone known which class, method or document indicate while change Activity key event have been clear ? Regards, DatNQ P/s: As my remember on old mobile platform writing in C/C++, when change Screen, key event stack have clear: clearKeyEventQueue() On Mar 12, 8:24 am, Dianne Hackborn <hack...@android.com> wrote: > Correct you can't do this, very much by design. > > On Fri, Mar 11, 2011 at 7:05 AM, Justin Anderson <magouyaw...@gmail.com>wrote: > > > > > AFAIK that is not possible... I don't think you can redirect events to > > other activities that you don't control. That would be a big security risk. > > > Thanks, > > Justin Anderson > > MagouyaWare Developer > >http://sites.google.com/site/magouyaware > > > On Fri, Mar 11, 2011 at 3:44 AM, praveen kumar < > > praveendiscussi...@gmail.com> wrote: > > >> Hi, > >> I want to override the back key of the Android device to display a > >> dialog, > >> which consists of two buttons say "Back" and "Exit". when you press > >> the Back button > >> in dialog it should dispatch back key to the top activity which is > >> currently running, i can able to get > >> system context by adding following code snippet to > >> <android_source_directory>frameworks/ > >> base/services/java/com/android/server/WindowManagerService.java. > > >> ActivityThread at = ActivityThread.currentActivityThread(); > >> if (at == null) { > >> Looper.prepare(); > >> at = ActivityThread.systemMain(); > >> } > >> if(at != null){ > >> sysContext = at.getSystemContext(); > >> Log.d(TAG, "SystemContext = " + sysContext); > >> } > > >> to display the dialog i added following code > >> Dialog dialog = new Dialog(myContext); > >> dialog.setContentView(com.android.internal.R.layout.<my-layout-name>); > >> dialog.setTitle("Custom Dialog"); > >> dialog.show(); > > >> Using sysContext, I can able to display toast, and I can able to > >> launch the activity, but > >> when i try to display a dialog using the same sysContext i got the > >> error saying, > >> unable to add window "window token is null" it would be great if you > >> give any input > >> why it is not able to display dialog using sysConttext? > > >> i added the following code, snippet to get top activity pid > > >> am = (ActivityManager) > >> myContext.getSystemService(Activity.ACTIVITY_SERVICE); > >> currentPackageName = > >> am.getRunningTasks(1).get(0).topActivity.getPackageName(); > > >> List<ActivityManager.RunningAppProcessInfo> processes; > >> processes = am.getRunningAppProcesses(); > >> for(ActivityManager.RunningAppProcessInfo info: processes) { > >> Log.i("Process:", info.processName); > >> if(currentPackageName.equalsIgnoreCase(info.processName)){ > >> Log.i(TAG, "Found !"); > >> mpid = info.pid; //pid of top Activity > >> muid = 0; // will be always 0 > >> } > >> } > > >> private Handler msgHandler = new Handler(){ > >> //this method will handle the calls from other threads. > >> public void handleMessage(Message msg) { > >> int result = -1; > >> switch (msg.what) { > >> case TPMUHelper.DISPATCH_BACK_KEY: > >> Log.d(TAG, "Dispatching Back_Key"); > >> code = KeyEvent.KEYCODE_BACK; > >> KeyEvent backEvent = new KeyEvent(downTime, > >> eventTime, > >> action, code, repeatCount, metaState, > >> deviceId, scancode, KeyEvent.FLAG_FROM_SYSTEM); > >> Log.i(TAG, "PID = " + mpid + ", UID = " +muid); > >> result = dispatchKey(backEvent, mpid, muid); > >> Log.d(TAG, "Dispatch Key Returns = " + result); > >> break; > >> } > >> } > >> }; > > >> When i send "DISPATCH_BACK_KEY" message from my-activity "Back" button > >> press event, it comes here > >> and dispatch back key, dispatchkey(KeyEvent event, int pid, int uid) > >> returns '1', i am success with > >> this, however currently running activity is not getting closed. simply > >> what i need is, i want to > >> send back key to whichever the activity is currently running, (system > >> application or 3rd party > >> application). input regarding the same is appreciated. > > >> Thanks & Regards > >> Praveen > > >> -- > >> 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 > > > -- > > 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 > > -- > Dianne Hackborn > Android framework engineer > hack...@android.com > > Note: please don't send private questions to me, as I don't have time to > provide private support, and so won't reply to such e-mails. All such > questions should be posted on public forums, where I and others can see and > answer them. -- 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