Was AccessibilityService changed in Android Pie?
I have this AccessibilityService class working in Android Oreo (API 27) and before:
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.test.testaccessibility">
<application
android:icon="@mipmap/ic_launcher"
android:label="TestAccessibility">
<service
android:name=".TestAccessibility"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/test_accessibility" />
</service>
</application>
test_accessibility.xml
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeViewTextChanged"
android:accessibilityFeedbackType="feedbackGeneric"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="true"
android:notificationTimeout="10" />
TestAccessibility.java
package com.google.test.testaccessibility;
import android.accessibilityservice.AccessibilityService;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;
public class TestAccessibility extends AccessibilityService
@Override
public void onAccessibilityEvent(AccessibilityEvent event)
Log.d("TestAccessibility", "onAccessibilityEvent");
@Override
public void onInterrupt()
Log.d("TestAccessibility", "onInterrupt");
@Override
protected void onServiceConnected()
Log.d("TestAccessibility", "onServiceConnected");
It works and the method onAccessibilityEvent is called everytime a text is changed in any application but, when I run this code in an Android Pie (API 28) only the onServiceConnected one is called.
I suppose something has been changed in from API 27 to 28 but I can't find anything on the net.
Anyone can give me a clue?
Thank you!
add a comment |
I have this AccessibilityService class working in Android Oreo (API 27) and before:
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.test.testaccessibility">
<application
android:icon="@mipmap/ic_launcher"
android:label="TestAccessibility">
<service
android:name=".TestAccessibility"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/test_accessibility" />
</service>
</application>
test_accessibility.xml
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeViewTextChanged"
android:accessibilityFeedbackType="feedbackGeneric"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="true"
android:notificationTimeout="10" />
TestAccessibility.java
package com.google.test.testaccessibility;
import android.accessibilityservice.AccessibilityService;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;
public class TestAccessibility extends AccessibilityService
@Override
public void onAccessibilityEvent(AccessibilityEvent event)
Log.d("TestAccessibility", "onAccessibilityEvent");
@Override
public void onInterrupt()
Log.d("TestAccessibility", "onInterrupt");
@Override
protected void onServiceConnected()
Log.d("TestAccessibility", "onServiceConnected");
It works and the method onAccessibilityEvent is called everytime a text is changed in any application but, when I run this code in an Android Pie (API 28) only the onServiceConnected one is called.
I suppose something has been changed in from API 27 to 28 but I can't find anything on the net.
Anyone can give me a clue?
Thank you!
add a comment |
I have this AccessibilityService class working in Android Oreo (API 27) and before:
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.test.testaccessibility">
<application
android:icon="@mipmap/ic_launcher"
android:label="TestAccessibility">
<service
android:name=".TestAccessibility"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/test_accessibility" />
</service>
</application>
test_accessibility.xml
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeViewTextChanged"
android:accessibilityFeedbackType="feedbackGeneric"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="true"
android:notificationTimeout="10" />
TestAccessibility.java
package com.google.test.testaccessibility;
import android.accessibilityservice.AccessibilityService;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;
public class TestAccessibility extends AccessibilityService
@Override
public void onAccessibilityEvent(AccessibilityEvent event)
Log.d("TestAccessibility", "onAccessibilityEvent");
@Override
public void onInterrupt()
Log.d("TestAccessibility", "onInterrupt");
@Override
protected void onServiceConnected()
Log.d("TestAccessibility", "onServiceConnected");
It works and the method onAccessibilityEvent is called everytime a text is changed in any application but, when I run this code in an Android Pie (API 28) only the onServiceConnected one is called.
I suppose something has been changed in from API 27 to 28 but I can't find anything on the net.
Anyone can give me a clue?
Thank you!
I have this AccessibilityService class working in Android Oreo (API 27) and before:
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.test.testaccessibility">
<application
android:icon="@mipmap/ic_launcher"
android:label="TestAccessibility">
<service
android:name=".TestAccessibility"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/test_accessibility" />
</service>
</application>
test_accessibility.xml
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeViewTextChanged"
android:accessibilityFeedbackType="feedbackGeneric"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="true"
android:notificationTimeout="10" />
TestAccessibility.java
package com.google.test.testaccessibility;
import android.accessibilityservice.AccessibilityService;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;
public class TestAccessibility extends AccessibilityService
@Override
public void onAccessibilityEvent(AccessibilityEvent event)
Log.d("TestAccessibility", "onAccessibilityEvent");
@Override
public void onInterrupt()
Log.d("TestAccessibility", "onInterrupt");
@Override
protected void onServiceConnected()
Log.d("TestAccessibility", "onServiceConnected");
It works and the method onAccessibilityEvent is called everytime a text is changed in any application but, when I run this code in an Android Pie (API 28) only the onServiceConnected one is called.
I suppose something has been changed in from API 27 to 28 but I can't find anything on the net.
Anyone can give me a clue?
Thank you!
asked Nov 13 '18 at 22:54
dnakhaindnakhain
11
11
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Nothing changed intentionally, and most services work.
Two things to try:
1) Codelab for accessibility service development: https://codelabs.developers.google.com/codelabs/developing-android-a11y-service/index.html
2) Removing the notificationTimeout
Thank you, 1) Is the tutorial I was following. and 2) was the first scenario I have compiled. Trying some tweaks I've discovered that changing android:accessibilityEventTypes from "typeViewTextChanged" to "typeAllEventTypes" and filtering events by their type I've discovered that textchanged events are no longer received, instead of that I've only received selectionchanged ones. So ¿Maybe is a bug and I should report it?
– dnakhain
Nov 21 '18 at 20:13
add a comment |
It's a reported bug:
https://issuetracker.google.com/issues/117747909
I'll try to update this response with the bug's answer.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53290729%2fwas-accessibilityservice-changed-in-android-pie%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Nothing changed intentionally, and most services work.
Two things to try:
1) Codelab for accessibility service development: https://codelabs.developers.google.com/codelabs/developing-android-a11y-service/index.html
2) Removing the notificationTimeout
Thank you, 1) Is the tutorial I was following. and 2) was the first scenario I have compiled. Trying some tweaks I've discovered that changing android:accessibilityEventTypes from "typeViewTextChanged" to "typeAllEventTypes" and filtering events by their type I've discovered that textchanged events are no longer received, instead of that I've only received selectionchanged ones. So ¿Maybe is a bug and I should report it?
– dnakhain
Nov 21 '18 at 20:13
add a comment |
Nothing changed intentionally, and most services work.
Two things to try:
1) Codelab for accessibility service development: https://codelabs.developers.google.com/codelabs/developing-android-a11y-service/index.html
2) Removing the notificationTimeout
Thank you, 1) Is the tutorial I was following. and 2) was the first scenario I have compiled. Trying some tweaks I've discovered that changing android:accessibilityEventTypes from "typeViewTextChanged" to "typeAllEventTypes" and filtering events by their type I've discovered that textchanged events are no longer received, instead of that I've only received selectionchanged ones. So ¿Maybe is a bug and I should report it?
– dnakhain
Nov 21 '18 at 20:13
add a comment |
Nothing changed intentionally, and most services work.
Two things to try:
1) Codelab for accessibility service development: https://codelabs.developers.google.com/codelabs/developing-android-a11y-service/index.html
2) Removing the notificationTimeout
Nothing changed intentionally, and most services work.
Two things to try:
1) Codelab for accessibility service development: https://codelabs.developers.google.com/codelabs/developing-android-a11y-service/index.html
2) Removing the notificationTimeout
answered Nov 18 '18 at 21:09
Phil WeaverPhil Weaver
1173
1173
Thank you, 1) Is the tutorial I was following. and 2) was the first scenario I have compiled. Trying some tweaks I've discovered that changing android:accessibilityEventTypes from "typeViewTextChanged" to "typeAllEventTypes" and filtering events by their type I've discovered that textchanged events are no longer received, instead of that I've only received selectionchanged ones. So ¿Maybe is a bug and I should report it?
– dnakhain
Nov 21 '18 at 20:13
add a comment |
Thank you, 1) Is the tutorial I was following. and 2) was the first scenario I have compiled. Trying some tweaks I've discovered that changing android:accessibilityEventTypes from "typeViewTextChanged" to "typeAllEventTypes" and filtering events by their type I've discovered that textchanged events are no longer received, instead of that I've only received selectionchanged ones. So ¿Maybe is a bug and I should report it?
– dnakhain
Nov 21 '18 at 20:13
Thank you, 1) Is the tutorial I was following. and 2) was the first scenario I have compiled. Trying some tweaks I've discovered that changing android:accessibilityEventTypes from "typeViewTextChanged" to "typeAllEventTypes" and filtering events by their type I've discovered that textchanged events are no longer received, instead of that I've only received selectionchanged ones. So ¿Maybe is a bug and I should report it?
– dnakhain
Nov 21 '18 at 20:13
Thank you, 1) Is the tutorial I was following. and 2) was the first scenario I have compiled. Trying some tweaks I've discovered that changing android:accessibilityEventTypes from "typeViewTextChanged" to "typeAllEventTypes" and filtering events by their type I've discovered that textchanged events are no longer received, instead of that I've only received selectionchanged ones. So ¿Maybe is a bug and I should report it?
– dnakhain
Nov 21 '18 at 20:13
add a comment |
It's a reported bug:
https://issuetracker.google.com/issues/117747909
I'll try to update this response with the bug's answer.
add a comment |
It's a reported bug:
https://issuetracker.google.com/issues/117747909
I'll try to update this response with the bug's answer.
add a comment |
It's a reported bug:
https://issuetracker.google.com/issues/117747909
I'll try to update this response with the bug's answer.
It's a reported bug:
https://issuetracker.google.com/issues/117747909
I'll try to update this response with the bug's answer.
answered Nov 24 '18 at 16:18
dnakhaindnakhain
11
11
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53290729%2fwas-accessibilityservice-changed-in-android-pie%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown