当前位置: 首页 > news >正文

建设工程检测预约网站港口建设网站

建设工程检测预约网站,港口建设网站,网站建设公司公司,大数据精准营销问题背景 测试反馈,无障碍快捷方式和setting里的无障碍图标不一致。 无障碍快捷方式悬浮窗 1、悬浮窗在systemui中 frameworks\base\packages\SystemUI\src\com\android\systemui\accessibility\floatingmenu\AccessibilityTargetAdapter.java 图标获取方式&…
问题背景

测试反馈,无障碍快捷方式和setting里的无障碍图标不一致。

无障碍快捷方式悬浮窗

1、悬浮窗在systemui中
frameworks\base\packages\SystemUI\src\com\android\systemui\accessibility\floatingmenu\AccessibilityTargetAdapter.java
图标获取方式:

final AccessibilityTarget target = mTargets.get(position);
holder.mIconView.setBackground(target.getIcon());

frameworks\base\packages\SystemUI\src\com\android\systemui\accessibility\floatingmenu\MenuInfoRepository.java

void loadMenuTargetFeatures(OnInfoReady<List<AccessibilityTarget>> callback) {callback.onReady(getTargets(mContext, ACCESSIBILITY_BUTTON));
}

2、数据来源
frameworks\base\core\java\com\android\internal\accessibility\dialog\AccessibilityTargetHelper.java

public static List<AccessibilityTarget> getTargets(Context context,@ShortcutType int shortcutType)

AccessibilityTarget Icon数据来自
frameworks\base\core\java\com\android\internal\accessibility\dialog\AccessibilityServiceTarget.java

AccessibilityServiceTarget(Context context, @ShortcutType int shortcutType,@AccessibilityFragmentType int fragmentType,@NonNull AccessibilityServiceInfo serviceInfo) {super(context,shortcutType,fragmentType,isShortcutContained(context, shortcutType,serviceInfo.getComponentName().flattenToString()),serviceInfo.getComponentName().flattenToString(),serviceInfo.getResolveInfo().serviceInfo.applicationInfo.uid,serviceInfo.getResolveInfo().loadLabel(context.getPackageManager()),serviceInfo.getResolveInfo().loadIcon(context.getPackageManager()),convertToKey(convertToUserType(shortcutType)));
}

由此可见,systemui里直接显示的支持无障碍Service/activity的原图。

setting中的无障碍菜单

Settings\src\com\android\settings\accessibility\RestrictedPreferenceHelper.java

public List<RestrictedPreference> createAccessibilityServicePreferenceList(List<AccessibilityServiceInfo> installedServices) {Drawable icon = resolveInfo.loadIcon(mPm);
}

setting里获取方式和systemUI一样。都是通过service的resolveInfo.loadIcon(mPm);

区别:
setting里把Drawable转换成了AdaptiveIcon,再传给了preference。所以显示圆角。

private RestrictedPreference createRestrictedPreference(){preference.setIcon(Utils.getAdaptiveIcon(mContext, icon, Color.WHITE));
}
创建demo显示在无障碍

是通过android.accessibilityservice.AccessibilityService注册然后系统自动加载进去的。
AndroidManifest.xml

        <serviceandroid:name=".MyAccessibilityService"android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"android:enabled="true"android:exported="false"><intent-filter><actionandroid:name="android.accessibilityservice.AccessibilityService" /></intent-filter><meta-dataandroid:name="android.accessibilityservice"android:resource="@xml/accessibility_service_config" /></service>

res/xml/accessibility_service_config.xml

<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"android:description="@string/setting_accessibility_tip"android:accessibilityEventTypes="typeWindowStateChanged"android:packageNames="com.whatsapp"android:accessibilityFeedbackType="feedbackGeneric"android:notificationTimeout="100"android:accessibilityFlags="flagDefault"android:canRetrieveWindowContent="true"/>
http://www.yayakq.cn/news/32310/

相关文章:

  • 响应式网站建设价位网站设计高端
  • 昆山营销型网站建设方法dedecms做的系统网站主页是哪一个文件
  • 西安网站空间链接平台
  • 腾讯云ADM怎么做网站wordpress类与函数的差别
  • 有没类似建设通的免费网站如何用php做网站
  • 赤峰网站建设 公司wordpress 积分购物
  • 佛山顺德网站制作公司wordpress 主题加速
  • 在百度云上建设网站成都园林设计公司推荐
  • 福州网站制作策划汕头市建设工程信息网
  • 网站访问跳出率秦皇岛建设局
  • 网站建设公司不让放自己空间站有网站前台
  • 深圳网站维护服务的公司wordpress用户中心代码
  • 公司让做网站违法白云区网站建设
  • 西安北郊网站建设公司北理离线《网站开发与应用》
  • 商务网站建设的基本流程图数据库课程设计报告网站开发
  • 备案时注意网站名称规范中国建设监理协会网站投稿
  • 十里河网站建设公司做新的网站seo
  • 网站推广计划表如何查看网站服务器系统
  • 网站开发所需资料wordpress非代码方式添加备案号
  • 域名备案关闭网站开发网站 要网站icp经营许可证吗
  • 企业如何进行网站备案北京php网站制作
  • 内蒙网站建设微信怎样创建公众号
  • 网站设计制作的服务怎么样百度广州分公司销售岗位怎么样
  • 长沙网站优化培训做网站甘特图 内容
  • 公司网站还有用吗零基础jsp网站开发
  • 镇江网站搜索排名昆明网站开发兼职群
  • 网站建设品牌推荐福田欧曼货车
  • 电子商务网站建设的流程长宁专业做网站
  • 南昌网站建设渠道免费网站安全软件大全免费下载
  • cms 导航网站seo优化工程师