将新闻事件发送回基础活动

时间:2015-07-05 11:49:46

标签: android view event-handling accessibilityservice

实际上我的硬件后退按钮无效。所以我想要构建的是一个浮动视图,我可以将其按回发送到当前活动(因为我的浮动视图不在焦点上,因此叠加下的活动是焦点)。

所以我能够使用以下代码构建叠加视图

private void initialiseChatHead()
{
    windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);

    chatHead = new ImageView(this);
    chatHead.setImageResource(R.drawable.ic_back);

    WindowManager.LayoutParams params = new WindowManager.LayoutParams(
        WindowManager.LayoutParams.WRAP_CONTENT,
        WindowManager.LayoutParams.WRAP_CONTENT,
        WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
        WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
        PixelFormat.TRANSLUCENT);

    params.gravity = Gravity.TOP | Gravity.LEFT;
    params.x = 0;
    params.y = 100;

    windowManager.addView(chatHead, params);
    gestureDetector = new GestureDetector(this, new SingleTapConfirm());
    setOnTouchListener(params);
}

并且我认为,因为它没有聚焦调度后退键将转到底层活动,但这不起作用。

@Override 
public boolean onTouch(View v, MotionEvent event) {
    if (gestureDetector.onTouchEvent(event)) 
    {
        Toast.makeText(getApplicationContext(), "I am here", Toast.LENGTH_LONG).show();
        v.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));
        return false;
    } 
}

在搜索如何执行此操作时,我遇到了这个app,这是完全相同的事情。我认为它使用AccessibilityService,但我不知道如何。任何人都可以指导我如何实现这一点(向背景活动发回新闻)。谢谢!

0 个答案:

没有答案