本文整理汇总了Java中android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED属性的典型用法代码示例。如果您正苦于以下问题:Java AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED属性的具体用法?Java AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED怎么用?Java AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类android.view.accessibility.AccessibilityEvent
的用法示例。
在下文中一共展示了AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED属性的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onAccessibilityEvent
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
int eventType = event.getEventType();
switch (eventType) {
case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED:
case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED:
case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED:
for (String id : installBtnId) {
AccessibilityNodeInfo node = AccessibilityNodeUtil.findNodeById(event.getSource(), id);
if (node != null) {
AccessibilityNodeUtil.click(node);
Toast.makeText(this, "安装成功", Toast.LENGTH_SHORT).show();
break;
}
}
break;
default:
break;
}
}
示例2: openHongBao
private void openHongBao(AccessibilityEvent event){
String className=event.getClassName().toString();
Log.i(TAG,className);
if(className.equals(QQ_CLASSNAME_WALLET)&&isNeedBack){
performGlobalAction(AccessibilityService.GLOBAL_ACTION_BACK);
isNeedBack=false;
}else if(className.equals(QQ_CLASSNAME_CHAT)||(event.getEventType()==AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED&&windowState)) {
//wakeAndUnlock(true);
windowState=true;
if(!runState){
AccessibilityNodeInfo info = event.getSource();
if(info == null) return;
getAllHongBao(info);
}
}else{
windowState=false;
}
}
示例3: onAccessibilityEvent
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
AccessibilityNodeInfo nodeInfo = event.getSource();
if (nodeInfo != null) {
int eventType = event.getEventType();
if (eventType== AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED ||
eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
if (handledMap.get(event.getWindowId()) == null) {
boolean handled = iterateNodesAndHandle(nodeInfo);
if (handled) {
handledMap.put(event.getWindowId(), true);
}
}
}
}
}
示例4: onAccessibilityEvent
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
SharedPreferences settings = getSharedPreferences(data, 0);
settingRoom = settings.getString(settingRoomField, "");
settingDevices = settings.getString(settingDevicesField, "");
if (settingRoom.equals("") || settingDevices.equals("")) {
tellUser("配置檔不完整");
return;
}
int eventType = event.getEventType();
if (eventType == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED) {
preProcess(event);
Log.i(TAG, "onAccessibilityEvent");
}
}
示例5: eventToString
private String eventToString(AccessibilityEvent event) {
StringBuilder builder = new StringBuilder();
String eventType = "";
switch (event.getEventType()){
case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED: // 通知栏状态变化
eventType = "TYPE_NOTIFICATION_STATE_CHANGED";
break;
case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED: // 窗口状态变化
eventType = "TYPE_WINDOW_STATE_CHANGED";
break;
case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED: // 窗口内容变化
eventType = "TYPE_WINDOW_CONTENT_CHANGED";
break;
}
builder.append("EventType: ").append(eventType);
builder.append("; ClassName: ").append(event.getClassName());
builder.append("; Text: ").append(event.getText());
builder.append("; ContentDescription: ").append(event.getContentDescription());
builder.append("; ItemCount: ").append(event.getItemCount());
builder.append("; ParcelableData: ").append(event.getParcelableData());
return builder.toString();
}
示例6: onAccessibilityEvent
@Override
public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent) {
if (null == accessibilityEvent) {
return;
}
switch (accessibilityEvent.getEventType()) {
case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED: {
Log.i("AnalystService.onAccessibilityEvent # AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED");
mLastEventClassName = StringUtil.toNb(accessibilityEvent.getClassName());
postEvent();
}
break;
case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED: {
Log.i("AnalystService.onAccessibilityEvent # AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED");
if (null != mLastEventClassName) {
postEvent();
}
}
break;
}
}
示例7: watchList
private boolean watchList(AccessibilityEvent event) {
if (mListMutex) return false;
mListMutex = true;
AccessibilityNodeInfo eventSource = event.getSource();
// Not a message
if (event.getEventType() != AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED || eventSource == null)
return false;
List<AccessibilityNodeInfo> nodes = eventSource.findAccessibilityNodeInfosByText(WECHAT_NOTIFICATION_TIP);
//增加条件判断currentActivityName.contains(WECHAT_LUCKMONEY_GENERAL_ACTIVITY)
//避免当订阅号中出现标题为“[微信红包]拜年红包”(其实并非红包)的信息时误判
if (!nodes.isEmpty() && currentActivityName.contains(WECHAT_LUCKMONEY_GENERAL_ACTIVITY)) {
AccessibilityNodeInfo nodeToClick = nodes.get(0);
if (nodeToClick == null) return false;
CharSequence contentDescription = nodeToClick.getContentDescription();
if (contentDescription != null && !signature.getContentDescription().equals(contentDescription)) {
nodeToClick.performAction(AccessibilityNodeInfo.ACTION_CLICK);
signature.setContentDescription(contentDescription.toString());
return true;
}
}
return false;
}
示例8: handleAccessibilityEvent
public void handleAccessibilityEvent(AccessibilityEvent event, AccessibilityNodeInfo rootNode){
int eventType = event.getEventType();
if (eventType == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED
|| eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED
|| eventType == AccessibilityEvent.TYPE_WINDOWS_CHANGED
|| eventType == AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED)
{
this.output(new AccEvent(event, rootNode));
}
}
示例9: openHongBao
private void openHongBao(AccessibilityEvent event)
{
String className=event.getClassName().toString();
//Log.i(TAG, className);
if (className.equals(QQ_CLASSNAME_WALLET) && isNeedBack)
{
performGlobalAction(AccessibilityService.GLOBAL_ACTION_BACK);
isNeedBack = false;
}
else if (className.equals(QQ_CLASSNAME_CHAT) || (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED && windowState))
{
SharedPreferences haredPreferences = getSharedPreferences("nico.styTool_preferences", MODE_PRIVATE);
boolean sFirstRun = haredPreferences.getBoolean("ok_b", true);
//Editor editor = sharedPreferences.edit();
if (sFirstRun)
{
wakeAndUnlock(true);
}
else
{
}
windowState = true;
if (!runState)
{
AccessibilityNodeInfo info = event.getSource();
if (info == null) return;
getAllHongBao(info);
}
}
else
{
windowState = false;
}
}
示例10: onReceive
@Override
public void onReceive(AccessibilityEvent event) {
switch (event.getEventType()) {
case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED: // 通知栏状态变化
notificationEvent(event);
break;
case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED: // 窗口状态变化
windowStateEvent(event);
break;
case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED: // 窗口内容变化
windowContentEvent(event);
break;
}
}
示例11: onAccessibilityEvent
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
int eventType = event.getEventType();
CharSequence packageName = event.getPackageName();
switch (eventType) {
case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED:
AccessibilityNodeInfo rootNode = getRootInActiveWindow();
if (rootNode != null) {
if (packageName.equals("com.android.settings")) {
AccessibilityNodeInfo settingNode = AceHelper.findNodeByText(rootNode,"WLAN");
AceHelper.performClick(settingNode);
rootNode.recycle();
} else if (packageName.equals("com.android.wifisettings")) {
AccessibilityNodeInfo wifiNode = AceHelper.findNodeByText(rootNode, "TP-LINK_F770");
AccessibilityNodeInfo wifiNodeParent = wifiNode.getParent();
AccessibilityNodeInfo iconNode = AceHelper.findNodeById(wifiNodeParent, "com.android.wifisettings:id/advance_layout");
AceHelper.performClick(iconNode);
}
}
break;
case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED:
Toast.makeText(this, "Notify", Toast.LENGTH_SHORT).show();
event.getSource().recycle();
break;
case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED:
break;
default:
break;
}
}
示例12: onServiceConnected
@Override
public void onServiceConnected() {
AccessibilityServiceInfo info = getServiceInfo();
info.eventTypes = AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED |
AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED
| AccessibilityEvent.TYPE_VIEW_SCROLLED
| AccessibilityEvent.TYPE_VIEW_CLICKED;
info.packageNames = packages;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
info.notificationTimeout = 100;
ReflectUtils.setFieldValue(info, "mCapabilities", info.getCapabilities() | AccessibilityServiceInfo.CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT);
this.setServiceInfo(info);
BaseAccessibility.isEnable.set(true);
if (needClearTask) {
InstallAccessibility.openSettingAccessibilityNeedTips(this);
MyAccessibility.needClearTask = false;
LocalAccessibilityManager.getInstance().notifyAccessibilityChanged(true);
}
// StatHelper.onSmartInstallEvent(StatFieldConst.SmartInstaller.Action.ACTION_SMARTINSC);
LogUtils.d("BaseAccessibility", "onServiceConnected:" + BaseAccessibility.isEnable.get());
SmartInstaller.logPrint("processAccessibilityEnvent onServiceConnected= " + BaseAccessibility.isEnable.get()
+ " autoClickNumber=" + BaseAccessibility.autoClickNumber);
}
示例13: onAccessibilityEvent
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
super.onAccessibilityEvent(event);
AccessibilityNodeInfo rootInActiveWindow = getRootInActiveWindow();
if (rootInActiveWindow == null) {
L.d("openContactInfo nodeInfo is null");
return;
}
L.d("得到当前包名 "+rootInActiveWindow.getPackageName() + " 类名 " + rootInActiveWindow.getClass());
if (rootInActiveWindow.getPackageName() != null &&
!(rootInActiveWindow.getPackageName() + "").equals("com.tencent.mm")) {
L.e("不是 微信 返回");
return;
}
if (mIsNeedCloseWeChat) {
if (rootInActiveWindow.getPackageName() != null &&
(rootInActiveWindow.getPackageName() + "").equals(AccessUtil.WECHAT_PACKAGE_NAME)) {
if (AccessUtil.isWeChatMain(rootInActiveWindow)) {
mIsNeedCloseWeChat = false;
L.d("ismain");
mActivity.startActivity(mIntent);
} else {
AccessUtil.performBack(this, rootInActiveWindow);
}
return;
} else {
// mIsNeedCloseWeChat = false;
// if (mIntent != null && mActivity != null) {
// mActivity.startActivity(mIntent);
// }
}
}
int eventType = event.getEventType();
switch (eventType) {
//第一步:监听通知栏消息
case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED:
WeChatMsg.sendNotify(event);
break;
//第二步:监听是否进入微信聊天界面
case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED:
// WeChatNearly.nearly(this, getRootInActiveWindow(), this, "你好");
L.d("type " + type);
switch (type) {
case Mode.autoHello://自动打招呼
mWeChatNearly.change(this, rootInActiveWindow, this, "你好");
break;
case Mode.group://群发
mWeChatGroup.change(this, rootInActiveWindow, this, "你好");
break;
case Mode.autoChat://自动聊天
mWeChatAutoReply.change(this, rootInActiveWindow, this, "你好");
break;
case Mode.closeService://无法实现
AccessUtil.openNext(rootInActiveWindow, "测试");
break;
}
break;
default:
break;
}
}
示例14: setDynamicContent
/**
* Set the content this service should be receiving
*/
private void setDynamicContent() {
if (DEBUG) {
MyLog.i(CLS_NAME, "setDynamicContent: interceptGoogle: " + initInterceptGoogle);
MyLog.i(CLS_NAME, "setDynamicContent: announceNotifications: " + initAnnounceNotifications);
}
if (!initInterceptGoogle && !initAnnounceNotifications) {
if (DEBUG) {
MyLog.i(CLS_NAME, "setDynamicContent: none required: finishing");
}
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
// this.disableSelf();
// }
//
// this.stopSelf();
} else {
if (DEBUG) {
MyLog.i(CLS_NAME, "setDynamicContent: updating content");
}
final AccessibilityServiceInfo serviceInfo = new AccessibilityServiceInfo();
serviceInfo.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
serviceInfo.flags = AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
serviceInfo.notificationTimeout = UPDATE_TIMEOUT;
if (initInterceptGoogle && initAnnounceNotifications) {
serviceInfo.eventTypes = AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED
| AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED
| AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
} else if (initInterceptGoogle) {
serviceInfo.packageNames = new String[]{Installed.PACKAGE_NAME_GOOGLE_NOW};
serviceInfo.eventTypes = AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED
| AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED;
} else {
serviceInfo.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
}
this.setServiceInfo(serviceInfo);
}
}