(1) ActivityThread is not a part of the SDK and you should absolutely not be
touching it.
(2) Don't call Looper.prepare() on a thread you don't own.
(3) WTF.

On Thu, Mar 10, 2011 at 5:10 AM, Praveen <[email protected]> wrote:

> Hi,
> I am trying to dispatch key-event to other activity from a dialog, I
> am trying to add a dialog in WindowManagerSerivce.java file in
> frameworks/base/services/java/com/android/server, to display this
> dialog i am using the following snippet to get SystemContext
>
>
> ActivityThread at = ActivityThread.currentActivityThread();
>        if (at == null) {
>            Looper.prepare();
>            at = ActivityThread.systemMain();
>        }
>        if(at != null){
>            sysContext = at.getSystemContext();
>            Log.d(TAG, "SystemContext = " + sysContext);
>        }
> Dialog dialog = new Dialog(sysContext);
>
> dialog.setContentView(com.android.internal.R.layout.<my_Custom_layout>);
>                dialog.setTitle("Custom Dialog");
>                dialog.show();
>
> but i can't able to display the dialog
>
>
>
> When i tried to launch activity as a dialog (@android:style/
> Theme.Dialog) using intent, for the same, activity is displayed as
> dialog. fine, now what i am trying is i want to dispatch keyevent when
> you press a button in the dialog displayed, i am using handler to pass
> the messages to WindowManagerService, where it will dispatch the
> keyevent and even i get the pid of top activity and pass the same to
> dispatchKey() method in WindowManagerService.java,  dispatchKey
> returns '1' which means the key is dispatched successfully. what
> actually i am doing is when you press a button in the dialog, i will
> pass a message to handler implemented in WindowManagerService.java
> say, DISPATCH_BACK_KEY, and i am able to get proper PID from the
> activity manager
>
> packageName =
> 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;
>                        }
>                    }
> public void handleMessage(Message msg) {
> switch (msg.what) {
>
> case 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;
> }
>
> Key is dispatched successfully, but the activity beyond the my-dialog
> displayed is still visible. please help me how can i proceed to
> dispatch back key to the activity beyond my-dialog..
>
>
> Thanks in advance
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>



-- 
Dianne Hackborn
Android framework engineer
[email protected]

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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to