mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
AccessibilityInfo.announceForAccessibility (#24746)
Summary: AccessibilityInfo.announceForAccessibility is currently only available on iOS. I've added the Android specific implementation, updated RNTester, and the documentation. [Android] [Added] - Added AccessibilityInfo.announceForAccessibility for Android [General] [Added] - RNTester example for AccessibilityInfo.announceForAccessibility Pull Request resolved: https://github.com/facebook/react-native/pull/24746 Differential Revision: D15258054 Pulled By: cpojer fbshipit-source-id: 3e057a5c32b28e30ea2ee74a18854b012cd2dbfd
This commit is contained in:
committed by
Facebook Github Bot
parent
9261035c2b
commit
09f17a4e29
+15
@@ -16,6 +16,7 @@ import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.provider.Settings;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
|
||||
import com.facebook.react.bridge.Callback;
|
||||
@@ -170,4 +171,18 @@ public class AccessibilityInfoModule extends ReactContextBaseJavaModule
|
||||
@Override
|
||||
public void onHostDestroy() {
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
public void announceForAccessibility(String message) {
|
||||
if (mAccessibilityManager == null || !mAccessibilityManager.isEnabled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
AccessibilityEvent event = AccessibilityEvent.obtain(AccessibilityEvent.TYPE_ANNOUNCEMENT);
|
||||
event.getText().add(message);
|
||||
event.setClassName(AccessibilityInfoModule.class.getName());
|
||||
event.setPackageName(getReactApplicationContext().getPackageName());
|
||||
|
||||
mAccessibilityManager.sendAccessibilityEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user