Manipulate android apps that don't work with Talkback - android

I recently used Talk back on an Android device. Some apps don't work well with the Talk Back screen reader because the it's not developed according to the accessibility API. Is there any way that I can access the UI of these apps (from OS level) and manipulate them to be compatible with Talk back?

No. Such change should be made in code. There is no way to modify it from OS level.
Those changes have to be made in XML or Java. User cannot access these values from system layer (security policy). You can refer to: Android Developer guidlines for accesibility. Without proper 'contentDescription' set TalkBack is unable to retrive any information about some views: images, imagebuttons etc.

Related

Display Application widget on Lock screen android

I am stuck with one of my client requirement , it seems not be feasible to me as i am not able to find anything related to this particular requirement.I am goggling but does not came up with proper clue.I though studied the below mentioned link which states that it is not supportive . Here is the link :-
How to force a widget to appear on lock screen programmatically (Android)
i just want to confirm that is it feasible ? Or this can be achieved by making custom lock screen for application.
Here is what my client requirement is :-
I need your suggestion here , please let me know .
Thanks
i just want to confirm that is it feasible ?
As I wrote in the answer to the question that you linked to, the standard Android lockscreen framework only supports app widgets from Android 4.1 through 4.4, which is a steadily shrinking portion of the Android device ecosystem.
Or this can be achieved by making custom lock screen for application.
Android does not support the creation of custom lockscreens, other than by building your own modified version of Android, poured into your own custom ROM, installed onto whatever hardware your custom ROM supports.
There are plenty of developers who claim to create custom lockscreens. Those actually require you to disable the device lockscreen, then their apps attempt to interpose themselves between the user and ordinary apps. At the best of times, this offers weaker security.

how to permanently override android soft keys behaviour and display through

I am relatively new to android and want to create an application that permanently overrides androids basic softkey behaviour and view (for devices with soft keys).
Some functionalities I want to implement are changing the size of the softkeys window at the bottom, change its images, and possibly change its functionality.
For example, the user can set the size to of the softkey to be "large", "medium" or "small". And I can change the functionality of the back button to open say a particular application instead of going "back".
I'm basically looking for a high level answer as to how to do this, a basic direction of what I should read/study in order to be able to accomplish this. I realise this may require root access.
Please note that I want this behaviour to change not only in my application but I want the effect to exist on all applications. If this requires the application to be running atleast at the backend, that is fine.
After doing some decent amount of search, it seems I will have to make changes in the systemUI.apk, or possibly get its source code and modify it. Is this correct?
Thanks in advance.
I don't think even root is going to be enough for the type of changes you are describing. You're going to need to edit the Android source code and build your own system image.
Well you can't override system resources because they are part of the system image.
What you are looking for is called Home Application which can be developed like any other android app no need for root , you can find an example for it in your sdk samples.
Home Sample Application.
your app would be responsible to have UI components to send the user to all of the phone functionalities which includes:
Place for wegits
Place for apps listing (menue)
Access telephony functionality (call, phone history ...)
Access settings.

Operating system level security Android

I have a requirement for trying to develop an alternative to the current pin password security system on the android operating system. The main goal will be to try and replace the current password system with an alternative that uses one of the hardware features on the device. Is this possible as a third party? Or, would you need to go to the specific head set manufacturer to get the ability to circumvent or change the current security system?
I believe there is no API which is specifically designed to replace/be a pluging to a lock screen on Android.
However, people found several clever way of implementing it:
Replace home screen
Showing activity on top of lock screen
Take a look at these questions:
Where can I find examples or tutorials about creating a custom android lockscreen?
Customizing Android Lock Screen functionality?

How to implement OMA forward lock on Android?

I'm working on an application that requires support for forward locking of media files on Android (1.6 and above). Of course, there appears to be no documentation in the APIs on how this might work.
The two questions I have are firstly whether forward locking is supported on Android (and in which versions of the platform) and secondly how to implement it in a program that, for example, downloads DRMed ringtones and wallpapers.
Android isn't that big on DRM, because of the open source heritage of the product. I think you'll have to implement any DRM solution yourself.
Forward lock means that your application offers no way to use protected content on other devices. Literally this means that your application must not have functionality for forwarding (sending) protected content to other devices or for writing to a file system or something else like that. For an open platform like Android that as well might require encrypting/obfuscating your applications content store to prevent access from other apps or from a USB-connected host computer.
A forward lock is identified by a flag in the media metadata (format is media-dependent IMHO). The content is not encrypted. Thus a forward lock is a simple check per content item to disable forwarding functionality as needed.
The whole concept came from and worked with closed embedded devices (like typical mobile phones 5 years ago) and sounds strange with open platforms like Android.
You have to ensure the applications which may want to transfer content to another device via bluetooth etc dont get the permission to transfer it.
OMA has defined how forward lock works. Hence that way you are sure of what has to be done.
You have to check the header information of the content to get information on whether it has to be forward locked or not.

How to code Android for the visually impaired?

Does Android support visually impaired users in the same way as HTML alt tags are used to provide input for screen readers on the web?
If so, what is the best practice to code Buttons and ImageViews etc so they can be read by a screen reader?
I'm not quite clear on your question. The internet browser, or any applications that rely heavily on HTML rendering are not accessible This quote is taken from this blog post.
You can turn on the accessibility features by going to Settings --> Accessibility and checking the box "Accessibility". While the web browser and browser-based
applications do not yet "talk" using these enhancements, we're working on them for upcoming releases.
Android does provide screen reader support for a lot of applications, see this wiki page for a list of applications known to work well with Android using a free and open source screen reader.
I can't find any general guidelines for creating accessible apps but this LinkedIn group may be helpful. I don't have a LinkedIn account though so don't know how active the group is.
The best resource I've found on the Android Accessibility API is this code walk through: https://sites.google.com/site/gdevelopercodelabs/android/accessibility
See http://developer.android.com/guide/practices/design/accessibility.html for plenty of details on writing an accessible app.
The nearest equivalent to HTML's ALT is the contentDescription property - set in code or in XML.
If you are creating you own custom control, you'll need to do a bit more work to specify other details too; more details at the link above.
Most important thing: when you're done, test with TalkBack, the free Android screenreader from Google. (It's pre-installed on some Android models, but you can download from Android Market if you don't already have it.) You should be able to navigate to all the interactive elements in your app using the directional pad alone, and TalkBack should read out appropriate values for all elements as it does so. (It should pick up the contentDescription and read it out here.)
One thing to watch for is that from what I remember, the screenreader only reads out things that you can navigate to, so if you have instructional text on the page, it may not read out, so you may need to ensure that the contentDescription for other controls is suitably descriptive. To be sure, test with TalkBack, and see for you self (er, hear for yourself!) if what is read out makes sense.
(As noted in one of the other replies, although Android has an accessibility API, the Android browser doesn't actually support it (yet), so HTML pages - even properly marked up HTML code - isn't accessible on Android using the default browser. There are a couple of 3rd party browsers that add accessibility to HTML, though, such as the free IDEAL Web Reader app, which appears to wrap the Android HTML control and then add voicing on top of it. Hopefully Android will make their default browser fully accessible in some later release...)

Categories

Resources