当前位置: 首页>>代码示例>>Java>>正文


Java AccessibilityWindowInfo.getId方法代码示例

本文整理汇总了Java中android.view.accessibility.AccessibilityWindowInfo.getId方法的典型用法代码示例。如果您正苦于以下问题:Java AccessibilityWindowInfo.getId方法的具体用法?Java AccessibilityWindowInfo.getId怎么用?Java AccessibilityWindowInfo.getId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.view.accessibility.AccessibilityWindowInfo的用法示例。


在下文中一共展示了AccessibilityWindowInfo.getId方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getWindowTitle

import android.view.accessibility.AccessibilityWindowInfo; //导入方法依赖的package包/类
private CharSequence getWindowTitle(int windowId) {
    // Try to get window title from the map.
    CharSequence windowTitle = mWindowTitlesMap.get(windowId);
    if (windowTitle != null) {
        return windowTitle;
    }

    if (!BuildCompat.isAtLeastN()) {
        return null;
    }

    // Do not try to get system window title from AccessibilityWindowInfo.getTitle, it can
    // return non-translated value.
    if (isSystemWindow(windowId)) {
        return null;
    }

    // Try to get window title from AccessibilityWindowInfo.
    for (AccessibilityWindowInfo window : mService.getWindows()) {
        if (window.getId() == windowId) {
            return window.getTitle();
        }
    }

    return null;
}
 
开发者ID:google,项目名称:talkback,代码行数:27,代码来源:ProcessorScreen.java

示例2: isSystemWindow

import android.view.accessibility.AccessibilityWindowInfo; //导入方法依赖的package包/类
private boolean isSystemWindow(int windowId) {
    if (mSystemWindowIdsSet.contains(windowId)) {
        return true;
    }

    if (!mIsSplitScreenModeAvailable) {
        return false;
    }

    for (AccessibilityWindowInfo window : mService.getWindows()) {
        if (window.getId() == windowId &&
                window.getType() == AccessibilityWindowInfo.TYPE_SYSTEM) {
            return true;
        }
    }

    return false;
}
 
开发者ID:google,项目名称:talkback,代码行数:19,代码来源:ProcessorScreen.java

示例3: getWindowType

import android.view.accessibility.AccessibilityWindowInfo; //导入方法依赖的package包/类
public int getWindowType(int windowId) {
    if (mWindows != null) {
        for (AccessibilityWindowInfo window : mWindows) {
            if (window != null && window.getId() == windowId) {
                return window.getType();
            }
        }
    }

    return WRONG_WINDOW_TYPE;
}
 
开发者ID:google,项目名称:talkback,代码行数:12,代码来源:WindowManager.java

示例4: getWindowTitleForFeedback

import android.view.accessibility.AccessibilityWindowInfo; //导入方法依赖的package包/类
private CharSequence getWindowTitleForFeedback(int windowId) {
    CharSequence title = getWindowTitle(windowId);

    // Try to fall back to application label if window title is not available.
    if (title == null) {
        CharSequence packageName = mWindowToPackageName.get(windowId);

        // Try to get package name from accessibility window info if it's not in the map.
        if (packageName == null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            for (AccessibilityWindowInfo window : mService.getWindows()) {
                if (window.getId() == windowId) {
                    AccessibilityNodeInfo rootNode = window.getRoot();
                    if (rootNode != null) {
                        packageName = rootNode.getPackageName();
                        rootNode.recycle();
                    }
                }
            }
        }

        if (packageName != null) {
            title = mService.getApplicationLabel(packageName);
        }
    }

    title = WindowManager.formatWindowTitleForFeedback(title, mService);

    if (isAlertDialog(windowId)) {
        title = mService.getString(R.string.template_alert_dialog_template, title);
    }

    return title;
}
 
开发者ID:google,项目名称:talkback,代码行数:34,代码来源:ProcessorScreen.java

示例5: attemptNavigation

import android.view.accessibility.AccessibilityWindowInfo; //导入方法依赖的package包/类
private boolean attemptNavigation(int button) {
    AccessibilityNodeInfoCompat node = mCursorController.getCursorOrInputCursor();

    // Clear focus if it is on an IME
    if (node != null) {
        if (API_LEVEL_SUPPORTS_WINDOW_NAVIGATION) {
            for (AccessibilityWindowInfo awi : mService.getWindows()) {
                if (awi.getId() == node.getWindowId()) {
                    if (awi.getType() == AccessibilityWindowInfo.TYPE_INPUT_METHOD) {
                        node.recycle();
                        node = null;
                    }
                    break;
                }
            }
        }
    }

    // If we cleared the focus before it is on an IME, try to get the current node again.
    if (node == null) {
        node = mCursorController.getCursorOrInputCursor();
    }

    if (node == null) return false;
    try {
        if (Role.getRole(node) == Role.ROLE_SEEK_CONTROL) {
            navigateSlider(button, node);
            return true;
        }

        // In general, do not allow volume key navigation when the a11y focus is placed but
        // it is not on the edit field that the keyboard is currently editing.
        //
        // Example 1:
        // EditText1 has input focus and EditText2 has accessibility focus.
        // getCursorOrInputCursor() will return EditText2 based on its priority order.
        // EditText2.isFocused() = false, so we should not allow volume keys to control text.
        //
        // Example 2:
        // EditText1 in Window1 has input focus. EditText2 in Window2 has input focus as well.
        // If Window1 is input-focused but Window2 has the accessibility focus, don't allow
        // the volume keys to control the text.
        boolean nodeWindowFocused;
        if (API_LEVEL_SUPPORTS_WINDOW_NAVIGATION) {
            nodeWindowFocused = node.getWindow() != null && node.getWindow().isFocused();
        } else {
            nodeWindowFocused = true;
        }

        if (node.isFocused() && nodeWindowFocused &&
                AccessibilityNodeInfoUtils.isEditable(node)) {
            navigateEditText(button, node);
            return true;
        }

        return false;
  } finally {
        AccessibilityNodeInfoUtils.recycleNodes(node);
    }
}
 
开发者ID:google,项目名称:talkback,代码行数:61,代码来源:ProcessorVolumeStream.java


注:本文中的android.view.accessibility.AccessibilityWindowInfo.getId方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。