本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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;
}
示例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);
}
}